我正在创建一个Promises数组,以一次全部触发,就像这样:
let categories = ["cat1", "cat3", "cat3"];
let categoryRequests = []; // array of promises
categories.forEach(category => {
categoryRequests.push(getCategoryResult({category})); // getCategoryResult returns a promise
});
一旦所有的承诺都得到解决,我就会得到一系列的答复,就像这样:
let categoryResponses = await Promise.all(categoryRequests);
categoryResponses.forEach(categoryResponse => {
categoryResponse.categoryType = "???"; // should be a value from categories array
});
我想向每个响应添加一个“ categoryType”字段,该字段对应于初始请求中使用的类别。据我了解,响应的顺序与承诺的顺序不同。
我可以想到的一种方法是依次执行每个promise,将相应的类别附加到响应中,然后触发下一个promise。但是,我想同时兑现承诺。
是否可以将初始请求映射到响应数组?
答案 0 :(得分:1)