Socket
Socket
Sign inDemoInstall

es6-promise

Package Overview
Dependencies
0
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    es6-promise

A polyfill for ES6-style Promises, tracking rsvp


Version published
Maintainers
1
Install size
61.3 kB
Created

Package description

What is es6-promise?

The es6-promise package is a polyfill for the ECMAScript 6 Promise. It provides a way to handle asynchronous operations in JavaScript by allowing you to associate handlers with an asynchronous action's eventual success value or failure reason. This lets asynchronous methods return values like synchronous methods: instead of immediately returning the final value, the asynchronous method returns a promise to supply the value at some point in the future.

What are es6-promise's main functionalities?

Creating a Promise

This feature allows you to create a new Promise object. The constructor of Promise takes a function that takes two arguments, resolve and reject, which are functions themselves. You perform the asynchronous operation within this function and call resolve upon successful completion with the result, or reject with an error.

var promise = new Promise(function(resolve, reject) {
  // do something asynchronous which eventually calls either:
  //   resolve(someValue); // fulfilled
  // or
  //   reject("failure reason"); // rejected
});

Using a Promise

This feature demonstrates how to use a Promise. Once a Promise has been created, you can attach success and failure handlers to it using the .then method. The first function passed to .then is called if the Promise is resolved, and the second is called if it is rejected.

promise.then(function(value) {
  // success
}, function(value) {
  // failure
});

Chaining Promises

Promises can be chained, meaning that the result of one promise can be used to create another promise, forming a chain of promises. This is useful for performing a series of asynchronous operations in sequence.

new Promise(function(resolve, reject) {
  setTimeout(() => resolve(1), 1000);
}).then(function(result) {
  console.log(result); // 1
  return result * 2;
}).then(function(result) {
  console.log(result); // 2
  return result * 2;
}).then(function(result) {
  console.log(result); // 4
  return result * 2;
});

Other packages similar to es6-promise

Changelog

Source

1.0.0

  • first subset of RSVP

Readme

Source

ES6-Promises (subset of rsvp.js)

This is a polyfill of ES6 Promises. The implementation is a subset of rsvp.js, if you're wanting extra features and more debugging options, check out the full library.

For API details and how to use promises, see the JavaScript Promises HTML5Rocks article.

Downloads

Node.js

To install:

npm install es6-promise

To use:

var Promise = require('es6-promise').Promise;

Usage in IE<10

catch is a reserved word in IE<10, meaning promise.catch(func) throws a syntax error. To work around this, to a string to access the property:

promise['catch'](function(err) {
  // ...
});

Or use .then instead:

promise.then(undefined, function(err) {
  // ...
});

Building & Testing

This package uses the grunt-microlib package for building.

Custom tasks:

  • grunt test - Run Mocha tests through Node and PhantomJS.
  • grunt test:phantom - Run Mocha tests through PhantomJS (browser build).
  • grunt test:node - Run Mocha tests through Node (CommonJS build).

Keywords

FAQs

Last updated on 28 Apr 2014

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc