UNPKG

568 BJavaScriptView Raw
1var _ = require("./_");
2var genIterator = require("./genIterator");
3
4module.exports = function (iterable) {
5 var iter = genIterator(iterable);
6
7 return new _.Promise(function (resolve, reject) {
8 var countDown = 0
9 , reasons = []
10 , item;
11
12 function onError (reason) {
13 reasons.push(reason);
14 if (!--countDown)
15 reject(reasons);
16 }
17
18 while (!(item = iter.next()).done) {
19 countDown++;
20 _.Promise.resolve(item.value).then(resolve, onError);
21 }
22 });
23};