// TESTING simple-promise.js
// https://raw.github.com/blesh/simple-promise.js/master/simple-promise.min.js
// create a promise that will succeed.
function asyncHello(name) {
return new Promise(function(d) {
setTimeout(function() {
out('Hello, ' + name + '!');
d.resolve();
}, 10);
});
};
// create a promise that will fail.
function asyncFailure() {
return new Promise(function(d) {
setTimeout(function() {
d.deny('planned failure');
}, 10);
});
}
// test a successful promise.
asyncHello('Lincoln').then(function() {
out('done');
});
// test a failed promise.
asyncFailure().fail(function(reason) {
out('FAIL: ' + reason);
});
// test a successful when.
when([
asyncHello('Ben'),
asyncHello('Jessie'),
asyncHello('Laney'),
asyncHello('Lincoln'),
]).then(function() {
out('done');
});
// test a failure in a when.
when([
asyncHello('Apples'),
asyncHello('Oranges'),
asyncFailure(),
asyncHello('Bananas'),
]).then(function() {
out('done');
}).fail(function(reason) {
out('FAIL: ' + reason);
});
// output some text
function out(msg) {
document.write(msg + '<br/>');
}
External resources loaded into this fiddle: