# Request

#### Request(options)
Core/Request.js 30

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 55

The function that is called when the request is cancelled.

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

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 62

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

#### requestFunction : Request~RequestCallback
Core/Request.js 48

The function that makes the actual data request.

#### readonlystate : RequestState
Core/Request.js 124

The current state of the request.

#### readonlythrottle : Boolean
Core/Request.js 85

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`

#### readonlythrottleByServer : Boolean
Core/Request.js 97

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`

#### readonlytype : RequestType
Core/Request.js 107

Type of request.

Default Value: `RequestType.OTHER`

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

The URL to request.

### Methods

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

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

#### CancelCallback()
Core/Request.js 190

The function that is called when the request is cancelled.

#### PriorityCallback() → Number
Core/Request.js 195

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

##### Returns:

The updated priority value.

#### RequestCallback() → Promise
Core/Request.js 184

The function that makes the actual data request.

##### Returns:

A promise for the requested data.