epiphany/node_modules/promise-each/index.js
2023-12-09 22:19:03 -08:00

18 lines
488 B
JavaScript

const Promise = require('any-promise')
const assert = require('assert')
module.exports = each
// apply a function to all values
// should only be used for side effects
// (fn) -> prom
function each (fn) {
assert.equal(typeof fn, 'function')
return function (arr) {
arr = Array.isArray(arr) ? arr : [arr]
return arr.reduce(function (prev, curr, i) {
return prev.then(function () { return fn(curr, i, arr.length) })
}, Promise.resolve()).then(function () {})
}
}