You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
789 B
30 lines
789 B
"use strict"; |
|
module.exports = function(Promise, INTERNAL) { |
|
var PromiseReduce = Promise.reduce; |
|
var PromiseAll = Promise.all; |
|
|
|
function promiseAllThis() { |
|
return PromiseAll(this); |
|
} |
|
|
|
function PromiseMapSeries(promises, fn) { |
|
return PromiseReduce(promises, fn, INTERNAL, INTERNAL); |
|
} |
|
|
|
Promise.prototype.each = function (fn) { |
|
return PromiseReduce(this, fn, INTERNAL, 0) |
|
._then(promiseAllThis, undefined, undefined, this, undefined); |
|
}; |
|
|
|
Promise.prototype.mapSeries = function (fn) { |
|
return PromiseReduce(this, fn, INTERNAL, INTERNAL); |
|
}; |
|
|
|
Promise.each = function (promises, fn) { |
|
return PromiseReduce(promises, fn, INTERNAL, 0) |
|
._then(promiseAllThis, undefined, undefined, promises, undefined); |
|
}; |
|
|
|
Promise.mapSeries = PromiseMapSeries; |
|
}; |
|
|
|
|