正如本杰明所说,不要使用
for循环,而应使用
Promise.each(或
.map)
在此处查看Bluebird
API文档,然后搜索“静态地图示例:”。与
map相比,对于Doc的理解更清晰
each
var Promise = require('bluebird')// promisify the entire mongoose Modelvar Message = Promise.promisifyAll(Models.Message)Promise.each(repliesIDsArray, function(replyID){ return Message.findoneAsync({'_id': req.params.message_id}) .then(function(doc){ // do stuff with 'doc' here. })})
从文档中,
.each(或
.map)采用“
an array, or a promise of an array, which containspromises (or a mix of promises and values)”,这意味着您可以将其与100%纯值数组一起使用以启动承诺链
希望能帮助到你!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)