# Request

#### new Cesium.Request(options)
Core/Request.js 22

Stores information for making a request. In general this does not need to be constructed directly.

Name | Type | Description
--- | --- | ---

`options`

Object

optional An object with the following properties:

Name | Type | Default | Description
--- | --- | --- | ---
`url` | String |  | optional The url to request.
`requestFunction` | Request.RequestCallback |  | optional The function that makes the actual data request.
`cancelFunction` | Request.CancelCallback |  | optional The function that is called when the request is cancelled.
`priorityFunction` | Request.PriorityCallback |  | optional The function that is called to update the request's priority, which occurs once per frame.
`priority` | Number | `0.0` | optional The initial priority of the request.
`throttle` | Boolean | `false` | optional Whether to throttle and prioritize the request. If false, the request will be sent immediately. If true, the request will be throttled and sent based on priority.
`throttleByServer` | Boolean | `false` | optional Whether to throttle the request by server.
`type` | RequestType | `RequestType.OTHER` | optional The type of request.

### Members

#### cancelFunction : Request.CancelCallback
Core/Request.js 47

The function that is called when the request is cancelled.

#### priority : Number
Core/Request.js 66

Priority is a unit-less value where lower values represent higher priority. For world-based objects, this is usually the distance from the camera. A request that does not have a priority function defaults to a priority of 0. If priorityFunction is defined, this value is updated every frame with the result of that call.

Default Value: `0.0`

#### priorityFunction : Request.PriorityCallback
Core/Request.js 54

The function that is called to update the request's priority, which occurs once per frame.

#### requestFunction : Request.RequestCallback
Core/Request.js 40

The function that makes the actual data request.

#### readonly state : RequestState
Core/Request.js 116

The current state of the request.

#### readonly throttle : Boolean
Core/Request.js 77

Whether to throttle and prioritize the request. If false, the request will be sent immediately. If true, the request will be throttled and sent based on priority.

Default Value: `false`

#### readonly throttleByServer : Boolean
Core/Request.js 89

Whether to throttle the request by server. Browsers typically support about 6-8 parallel connections for HTTP/1 servers, and an unlimited amount of connections for HTTP/2 servers. Setting this value to `true` is preferable for requests going through HTTP/1 servers.

Default Value: `false`

#### readonly type : RequestType
Core/Request.js 99

Type of request.

Default Value: `RequestType.OTHER`

#### url : String
Core/Request.js 33

The URL to request.

### Methods

#### clone(result) → Request
Core/Request.js 153

Duplicates a Request instance.

Name | Type | Description
--- | --- | ---
`result` | Request | optional The object onto which to store the result.

##### Returns:

The modified result parameter or a new Resource instance if one was not provided.

### Type Definitions

#### Cesium.Request.CancelCallback()
Core/Request.js 182

The function that is called when the request is cancelled.

#### Cesium.Request.PriorityCallback() → Number
Core/Request.js 187

The function that is called to update the request's priority, which occurs once per frame.

##### Returns:

The updated priority value.

#### Cesium.Request.RequestCallback() → Promise.<void>
Core/Request.js 176

The function that makes the actual data request.

##### Returns:

A promise for the requested data.