Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – Bluebird – 如何在块中循环遍历数组,等待块响应大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_2@
有一种方法可以在块中循环遍历一组ID,并等待这个块的响应继续循环?

例如:

Promise = require("bluebird")

function(array){
  return Promise.*something that will loop chunks from my array and wait for each chunk response*.map(function(id){
          return MyFunction(id);
        });
}

我的问题是我需要等待来自我正在访问数据库的响应,并且它无法回答我正在同时创建的所有呼叫.我的代码引发了超时异常,因为我太激进了.

我的代码如下:

Promise = require("bluebird")

function(array){
 return Promise.map(array,function(id){
        return MyFunction(id);
      });
}

编辑:
我找到了解决方案!

Promise = require("bluebird")

function(array){
 return Promise.map(array,function(id){
        return MyFunction(id);
      },{Concurrency: 10});
}

解决方法

如果你没有使用promises,async模块有很多方法可以处理这些场景.如果要一次发出一个请求,可以使用eachSeries().如果你想提高效率,可以使用parallelLimit,这可以确保同时触发max X回调.

还有async的promise版本,如async-q和bluebird-promise端口.

@H_502_2@

大佬总结

以上是大佬教程为你收集整理的node.js – Bluebird – 如何在块中循环遍历数组,等待块响应全部内容,希望文章能够帮你解决node.js – Bluebird – 如何在块中循环遍历数组,等待块响应所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。