我正在尝试使用带有内置并发控制的蓝鸟地图功能。
我想检索一个名称列表,然后为每个名称发出一些 POST 请求。例如,我想为一周中的每一天请求每个名称。但是,我需要限制并发 POST 请求的数量,因为预期的服务器有速率限制。
function getNames() {
//Open mongodb connection
//Get collection and array of names
//return array of names in a promise
}
function createDatesArray() {
//Create an array of rates
//return array of dates in a promise
//Ex. return Promise.resolve(datesArray);
}
getNames().map(function (name) {
return createDatesArray().map(function (date) {
return requestData(date, name);
}, {concurrency: 5});
}).then(function () {
//do something
});
这是使用蓝鸟并发的正确方法吗?
文档链接在这里bluebird documentation。