promistein

1.0.0 • Public • Published

promistein NPM version Build Status

bramstein/promis (minified version) for nodejs and browser. Packaged for benchmarks. Very pretty and tiny but one of the slowest in Bluebird's benchmarks. It supports the full Promise API specification.

Install Nodei.co stats

Install with npm

$ npm install promistein

Promises/A+ 1.1

Run to be sure

$ npm test

API

The constructor is called with a single function argument.

var promise = new Promise(function (resolve, reject) {
  resolve('hello');
});

Instances of a Promise have two methods available: then and catch. The then method is used to add callbacks for when the promise is resolved or rejected.

promise.then(function (x) {
  console.log('value is', x);
}, function (r) {
  console.log('reason is', r);
});

The catch method is used the catch rejected promises in a more convenient way.

promise.catch(function (r) {
  console.log('reason is', r);
});

Both methods return a new Promise that can be used for chaining.

The Promise class also has four class methods: resolve, reject, race and all. The resolve and reject methods are a convenient way of creating already settled promises:

var resolved = Promise.resolve('hello');
var rejected = Promise.reject('bye');

The race method can be used to "race" two or more promises against each other. The returned promises is settled with the result of the first promise that settles.

// first will be resolved with 'hello'
var first = Promise.race([new Promise(function (resolve) {
  setTimeout(function () {
    resolve('world');
  }, 1000);
}), Promise.resolve('hello')]);

The all method waits for all promises given to it to resolve and then resolves the promise with the result of all of them.

// all is settles with ['hello', 'world']
var all = Promise.all([Promise.resolve('hello'), Promise.resolve('world')]);

Authors & Contributors author tips

Charlike Mike Reagent

License MIT license

Copyright (c) 2014 Charlike Mike Reagent, contributors.
Released under the MIT license.

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i promistein

    Weekly Downloads

    0

    Version

    1.0.0

    License

    none

    Last publish

    Collaborators

    • vanchoy
    • tunnckocore