Add definition and test for when.iterate

This commit is contained in:
Michael Nahkies
2015-09-03 12:00:45 +12:00
parent 04a025ada3
commit 8d071a6ee3
2 changed files with 29 additions and 0 deletions
+15
View File
@@ -101,6 +101,21 @@ when.settle<number>([when(1), when(2), when.reject(new Error("Foo"))]).then(desc
return descriptors.filter(d => d.state === 'rejected').reduce((r, d) => r + d.value, 0);
});
/* when.iterate(f, predicate, handler, seed) */
when.iterate(function (x) {
return x + 1;
}, function (x) {
// Stop when x >= 100000000000
return x >= 100000000000;
}, function (x) {
console.log(x);
}, 0).done(function (x) {
console.log(x === 100000000000);
}, function (err) {
console.log(err);
});
/* when.promise(resolver) */
promise = when.promise<number>(resolve => resolve(5));