1 回答

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
ASYNC / AWAIT
您可以使用和的組合Promise.all
來(lái)按預(yù)期填充allProductInfo
。
需要注意的ASYNC / AWAIT
是,您只能在 ASYNC 函數(shù)內(nèi)使用 ASYNC 函數(shù)。
activeProductBank.map
將迭代您的所有activeProductBank
并返回一個(gè) Promise 數(shù)組,然后將其傳遞給 ,Promise.all
然后在列表中的所有 Promise 都解決后解析。
Promise.all
getProductInfo = async (res) => {
? ? const allProductInfo = Promise.all(
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? activeProductBank.map(SKU => bby.products(SKU, { show:'sku,name'}))
? ? ? ? ? ? ? ? ? ? ? ? ? ? )
? ??
? ? res.send(allProductInfo);
};
另一種方法是使用 for..of 循環(huán)并使用 Await 調(diào)用逐一推送每個(gè) ProductInfo 的響應(yīng),如下所示
getProductInfo = async (res) => {
? ? let allProductInfo = [];
? ? for(let sku of allProductInfo) {
? ? ? ? const productInfo = await bby.products(sku, { show:'sku,name'});
? ? ? ? allProductInfo.push(productInfo);
? ? }
? ??
? ? res.send(allProductInfo);
};
添加回答
舉報(bào)