0.3.2 • Published 9 years ago
js-promise v0.3.2
Promise
Require about 150 lines of javascript code to utilize Promise class for implementing asynchronous processes with chaining, series and joining capabilities.
js-promise supports AMD loaders.
package.json
{
"dependencies": {
"js-promise": "*"
}
}
Sample usage
var Promise = require("js-promise");
function myTimeout(ms, logMsg){
return new Promise(function(onSuccess, onError){
setTimeout(function(){
console.info(logMsg || ("-- Timeout ended on: " + (new Date()).toISOString()));
onSuccess(ms);
},
ms
);
});
}
var startTime = Date.now();
console.log("Testing chains of (1+2+3+5+6)=17 seconds on " + (new Date()).toISOString());
myTimeout(1000)
.then(function(delay){
console.log("Done " + delay + " ms!");
return myTimeout(2000);
}
).then(function(delay){
console.log("Done " + delay + " ms!");
return myTimeout(3000);
}
).then(function(delay){
console.log("Done " + delay + " ms!");
return testJoin();
}
).then(function(){
return testSeries();
}
).done(function(){
var totalSeconds = ( Date.now() - startTime ) / 1000;
console.log("Test Passed! in " + totalSeconds + " Seconds, expected: 17");
}
);
function testJoin() {
console.log("Waiting for 3 joined promises to finishes in (2|1|5)=5 seconds on:" + (new Date()).toISOString());
return Promise.join([
myTimeout(2000),
myTimeout(1000),
myTimeout(5000),
]).then(function(){
console.log("Done Promise.join on: " + (new Date()).toISOString());
})
}
function testSeries() {
console.log("Testing a series of 3 timeouts (2+1+3) seconds total 6 ");
return Promise.series([
function() {
return myTimeout(2000);
},
function() {
return myTimeout(1000);
},
function() {
return myTimeout(3000);
}
]).then(function(result){
console.log("Promise.series result = " + JSON.stringify(result));
console.log("Done Promise.series on " + (new Date()).toISOString());
})
}
0.3.2
9 years ago
0.3.1
10 years ago
0.3.0
10 years ago
0.2.4
10 years ago
0.2.3
10 years ago
0.2.2
10 years ago
0.2.1
10 years ago
0.2.0
10 years ago
0.1.0
10 years ago
0.0.9
10 years ago
0.0.8
10 years ago
0.0.7
10 years ago
0.0.6
10 years ago
0.0.5
10 years ago
0.0.4
10 years ago
0.0.3
10 years ago
0.0.2
10 years ago
0.0.1
10 years ago
0.0.0
10 years ago