Package Exports
- superagent-bluebird-promise
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (superagent-bluebird-promise) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
superagent-bluebird-promise
Add promise support to Superagent using Bluebird.
Install
npm install superagent-bluebird-promise
Usage
Simply require this package instead of superagent
. Then you can call .promise()
instead of .end()
to get a promise for your requests.
var request = require('superagent-bluebird-promise');
request.get('/an-endpoint').promise()
.then(function(res) {
console.log(res);
})
.catch(function(error) {
console.log(error);
})
An error is thrown for all HTTP errors and responses that have a response code of 400 or above.
The error
parameter always has a key error
and for 4xx and 5xx responses, will also have a status
and res
key.
Options
var promise = request.get('/an-endpoint').promise([options]);
options.cancellable (boolean)
var promise = request.get('/an-endpoint').promise({ cancellable: true });
Cancelling promises
promise.cancel();
Cancelling promises with a custom reason
IMPORTANT: The superagent request won't be aborted unless the custom reason class extends bluebird's CancellationError.
var Promise = require('bluebird');
class CustomCancellationError extends Promise.CancellationError {
...
};
promise.cancel(new CustomCancellationError());