javascript - 与 promise Bluebird 循环

标签 javascript node.js promise bluebird

有什么方法可以像这样按数字循环 promise

Promise.map(5, function(i){})

所以上面的代码会循环5次

现在 promise 需要一个数组

最佳答案

一个选项:Promise.map(Array.from(Array(5).keys()), function(i){})

基本上,您正在寻找 range() 方法,或者至少是一种模拟它的方法。如果您使用的 Promise 实现不提供 range() 方法(最优秀的 bluebird Promise 库也不提供),那么我上面提供的代码是一种非常简洁的模拟方法。

其他选项:

//If you're using lodash, underscore or any other library with a .range() method
Promise.map(_.range(5), function(i){})

//Or write your own reusable range() function
// ES6 arrow function syntax
var myRange = i => Array.from(Array(i).keys())
// or classic function syntax
var myRange = function (i) {return Array.from(Array(i).keys())}

Promise.map(myRange(5), function(i){})

关于javascript - 与 promise Bluebird 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37746354/

相关文章:

node.js - 使用 phantom for nodejs 批量截图

node.js - 错误 : getaddrinfo ENOTFOUND parishackers. 组织 parishackers.org:80

javascript - 将流映射到惰性 promise 流

javascript - 使用 promise 实现超时 - 抛出错误

javascript - 如何将 jsdom.jQueryify 与 Jasmine Node 一起使用?

javascript - 来自 codepen 的 JS 在除 codepen 之外的任何地方都不起作用

javascript - 如何在鼠标悬停时突出显示 div 中的链接

javascript - 使用 mongoose 有条件地删除或添加文档数组中的元素

javascript - 同步链接 Promise

javascript - 如何使用我已有的代码将 javascript 弹出窗口居中