NPM bluebird Package


bluebird

A fully featured Promise library with a focus on performance and long stack traces

Installation

npm install bluebird

Usage

const Promise = require('bluebird');

// Create a new promise.
const promise = new Promise((resolve, reject) => {
  // The resolver function is called with the arguments to resolve or reject the promise.
  if (success) {
    resolve(value);
  } else {
    reject(error);
  }
});

// Add a handler for when the promise is resolved.
promise.then((value) => {
  // The fulfillment handler is called with the value of the resolved promise.
  console.log(value);
});

// Add a handler for when the promise is rejected.
promise.catch((error) => {
  // The rejection handler is called with the error of the rejected promise.
  console.error(error);
});

Configuration Options

The following configuration options are available for bluebird:

  • cancellation: Whether or not to enable cancellation of promises.
  • longStackTraces: Whether or not to generate long stack traces for rejected promises.
  • warnings: Whether or not to emit warnings for potential performance issues.

To configure bluebird, simply pass an object with the desired options to the Promise constructor:

const Promise = require('bluebird');

// Create a new promise with the desired configuration options.
const promise = new Promise((resolve, reject), {
  cancellation: true,
  longStackTraces: true,
  warnings: true
});

Best Practices

Here are some best practices for using bluebird:

  • Always handle rejected promises. Ignoring rejected promises can lead to unexpected behavior and errors.
  • Use finally to clean up resources. The finally method is called regardless of whether the promise is resolved or rejected, making it a good place to clean up any resources that were allocated during the promise’s execution.
  • Use catch to handle errors. The catch method is a shortcut for adding a rejection handler to a promise.
  • Use Promise.all to wait for multiple promises to resolve. The Promise.all method returns a new promise that resolves when all of the provided promises have resolved.
  • Use Promise.race to wait for the first promise to resolve. The Promise.race method returns a new promise that resolves when the first of the provided promises has resolved.
  • Use Promise.resolve to create a resolved promise. The Promise.resolve method returns a new promise that is immediately resolved with the provided value.
  • Use Promise.reject to create a rejected promise. The Promise.reject method returns a new promise that is immediately rejected with the provided error.