JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6663
  • Score
    100M100P100Q133499F
  • License MIT

Add promise support to superagent using Bluebird

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

Build Status

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 .then() or .catch() instead of .end() to get a promise for your requests.

var request = require('superagent-bluebird-promise');

// .then()
request.get('/an-endpoint')
  .then(function(res) {
    console.log(res);
  }, function(error) {
    console.log(error);
  });

// .catch()
request.get('/an-endpoint')
  .catch(function(error) {
    console.log(error);
  });

To generate a promise without registering any callbacks (e.g. when returning a promise from within a library), call .promise() instead.

request.get('/an-endpoint').promise()

In order to use any of Bluebird's various promise methods, make sure you call .then() or .promise() first.

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.

Cancelling requests

You can abort the request by cancelling the promise:

promise.cancel();

This is only possible because we have configured bluebird to be cancellable by default.