我正在编写一个函数,我希望以异步方式拍摄2个抓取,但是,我将等到所有抓取完成后再返回函数。如果我把每个放在前面,那么这2个抓取将按顺序发出,但如果我没有,该函数将在所有2个抓取完成之前返回。awaitfetch()await我想知道是否有一种标准的方法可以很好地完成此功能。这是我的示例代码:async function sendRequest() { fetch(url1); fetch(url2); return something;}
1 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
使用承诺一切。它将异步运行所有承诺,并等待所有承诺完成。
async function sendRequest() {
try {
let result = await Promise.all([
fetch(url1);
fetch(url2);
])
} catch(err) {
console.log(err); // TypeError: failed to fetch
}
console.log(result);
return something;
}
小心:如果只有1个承诺失败了,其他每个承诺也会失败
添加回答
举报
0/150
提交
取消