An Ecmascript 6 Polyfill strictly following specification. Also contains extensions like timeout Promise, Processing Queue...
Using Bower:
$ bower install promise-ext --save
Using NuGet:
$ Install-Package PromiseExt
Using NPM:
$ npm install promise-ext --save
You could use promise-ext in different context.
Include built script in your HTML file.
<script type="text/javascript" src="path/to/promise.min.js"></script>
Configure RequireJS.
requirejs.config({
paths: {
promise: 'path/to/promise'
}
});
Then include promise in your dependencies.
define(["promise"], function() {
var promise = new Promise(function(resolve, reject) {
});
});
If you want to build using RequireJS r.js and almond along with your project, you have to add some configuration.
{
paths: {
'promise': 'path/to/promise',
'promise-almond': 'path/to/promise-almond'
},
include: [
"path/to/promise-almond",
"path/to/promise/class",
"path/to/promise/extensions" // not mandatory if your are referencing it in your app
]
}
Call require to register Promise to global object
require("promise-ext");
var extensions = requrie("promise-ext/lib/promise/extensions");
var promise = new Promise(function(resolve, reject) {
});
Checkout repository and install dependencies
$ git clone https://github.com/spatools/promise.git
$ npm install -g grunt-cli bower tsd
$ npm install
You can find documentation about EcmaScript 6 Promise specification on some websites.
This library strictly follows EcmaScript 6 Specification which can be found on EcmaScript Wiki.
Any changes should be tested. Any additions should have a new test associated with it.
$ grunt test
$ grunt build