Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xnimorz/ready
Promises/A+, ES6 promises
https://github.com/xnimorz/ready
Last synced: about 1 month ago
JSON representation
Promises/A+, ES6 promises
- Host: GitHub
- URL: https://github.com/xnimorz/ready
- Owner: xnimorz
- Created: 2015-04-18T18:13:27.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-03-08T14:54:52.000Z (almost 9 years ago)
- Last Synced: 2024-11-13T20:07:07.449Z (about 2 months ago)
- Language: JavaScript
- Homepage:
- Size: 22.5 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Ready
Ready is a Promises/A+ implementation with supporting ES6 Promises specification.
[Promises/A+ specification](https://promisesaplus.com/)
### Installing
#### Node.js
Using npm:
```
npm install ready-promises
```#### Browsers
Using bower:
```
bower install ready-promises
```Using script tag:
```
```
### Simple usage
#### Using a deferred
```
var async = function() {
// create a deferred
var defer = ready.defer();// resolve or reject deferred
// for example defer.resolve('dummy');return defer.promise();
}async().then(
function onResolve() {},
function onReject() {}
);```
In this case deferred object contains methods to resolve and reject promise and promise object allow to subscribe on reject and resolve actions
#### Using ES6 way
```
var async = function() {
return new ready.Promise(function(resolve, reject) {
// you can call resolve or reject callbacks here
});
}async().then(
function onResolve() {},
function onReject() {}
);```
#### Using as polyfill
Polyfill Promise if there is no another solution (native or other libraries):
```
ready.polyfill();
/* ...code... */
new Promise(function(resolve, reject) {
// you can call resolve or reject callbacks here
}).then(function onResolve() {}, function onReject() {});
```Polyfill Promise:
```
ready.polyfill(true);
/* ...code... */
new Promise(function(resolve, reject) {
// you can call resolve or reject callbacks here
}).then(function onResolve() {}, function onReject() {});
```## Description
### ready methods
```Promise(onResolve, onReject)``` - es6-compatible way to create a promise.
```defer()``` - method to create deferred object.
```Deferred()``` - constructor to create deferred object.
```all(iterable)``` - returns a promise that resolves when all of the promises in the iterable argument have resolved.
```race(iterable)``` - returns a promise that resolves or rejects as soon as one of the promises in the iterable resolves or rejects, with the value or reason from that promise.
```any(iterable)``` - returns first successful promise or returns a promise that rejected when all of the promises in the iterable argument have rejected.
```reject(reason)``` - returns a Promise object that is rejected with the given reason.
```resolve(value)``` - returns a Promise object that is resolved with the given value.
```denodeify(fn, argumentCount)``` - add a callback to any calls to the function, and use that to fullfill or reject the promise.
### Deferred object methods
There are two possible ways to create a deferred.
1. Using method - ```var defer = reade.defer()```
2. Using constructor - ```var defer = new ready.Deferred()```
Deferred object has 3 methods:
```promise``` - return promise from deferred.
```resolve``` - resolve promise with value
```reject``` - reject promise with reason
### Promise object methods
```then``` - add resolve and reject callbacks
```done``` - add resolve callback
```fail``` - add reject callback
```catch``` - add reject callback
```nodeify``` - convert promised code to use node style callbacks. If no callback is provided it will just return the original promise.
```all(iterable)``` - returns a promise that resolves when all of the promises in the iterable argument have resolved.
```race(iterable)``` - returns a promise that resolves or rejects as soon as one of the promises in the iterable resolves or rejects, with the value or reason from that promise.
```reject(reason)``` - returns a Promise object that is rejected with the given reason.
```resolve(value)``` - returns a Promise object that is resolved with the given value.