我有两个变量:
const primaryPromise = doPrimaryPromise(primaryId);
const secondaryPromise = Promise.map(
secondaryIds,
secondaryId => doSecondaryPromise(secondaryId),
{ concurrency: 1 }
);
return Promise.join(
primaryPromise,
secondaryPromise
);
我必须对每个标识符执行异步操作,但我需要确保我一次只执行最多2个并发请求。这些是数据库操作,我希望在一次REST调用期间避免过多的扇出。
我目前的结构方式如下:
Promise.join
然而,Bluebird documentation告诉我Promise.map
将同时执行承诺。此方法是否仍会强制执行Promise.join
的最大并发,还是被顶级Promise
覆盖?
我正在意识到,当我输入时,Promise.map
返回的async/await
可能是强制执行并发限制的原因,所以我应该是安全的。但我绝对会欣赏这种方法的一些反馈。
注意:遗憾的是,ng new
不适合我。