Pure Javascript Ajax queuing for efficient handling of frontend requests.
const queue = new Queue([config]);
queue.add([request]);
The config object is not required
Name | Description | Type | Default |
---|---|---|---|
success | The callback for all successful ajax requests processed by this queue | function | Dispatch a Queue:requestCompleted event |
error | The callback for all unsuccessful ajax requests processed by this queue | function | Dispatch a Queue:requestFailed event |
completedAllRequestsEvent | The event type that will be dispatched once all requests have finished | string | Queue:requestsCompleted |
completedRequestEvent | The event type that will be dispatched after each request is finished | string | Queue:requestCompleted |
failedRequestEvent | The event type that will be dispatched after a request has failed | string | Queue:requestFailed |
requestStartedEvent | The event type that will be dispatched after each request has started | string | Queue:requestStarted |
errorEvent | The event type that will be dispatched after Q has thrown an error | string | Queue:error |
Adds a request to the currently running queue, this will cause the queue to process each item, one at a time until all requests have been resolved.
const queue = new Queue()
// Build the ajax request
const request = {
url: '/cart/add.js',
data: item,
success: options.success,
error: options.error
}
// Add the request to the ajax request queue
this.queue.add(request)
})
Name | Description | Required | Type | Default |
---|---|---|---|---|
success | The callback for a successful response, overwrites the queue default. | false |
function | Dispatch a Queue:requestCompleted event |
error | The callback for an unsuccessful response, overwrites the queue default. | false |
function | Dispatch a Queue:requestFailed event |
url | The url that the request will be sent to | true |
string | null |
method | The method that will be used to make the request | false |
string | GET |
data | Any data that you wish to send to the request | false |
any | null |
dataType* | The type of data that we expect to recieve from the request | false |
string | '' |
Options:
''
, 'arraybuffer'
, 'blob'
, 'document'
, 'json'
, 'text'