我试图使用bluebird的map函数和内置的并发控制.
我想检索一个名称列表,然后为每个名称发出一些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
});
Run Code Online (Sandbox Code Playgroud)
这是使用bluebird并发的正确方法吗?
文档链接在这里是bluebird文档.