const onLoadData = async () => {
await fetch("http://baidu.com");
};
const onLoadData2 = async () => {
try {
await fetch("http://souhu.com");
} catch (e) {}
try {
await fetch("http://tencent.com");
} catch (e) {}
};
onLoadData2();
onLoadData();
网址请求顺序是
souhu.com
baidu.com
tencent.com
这是什么原因呀?
await
是等待一个异步操作完成。也就是在你fetch
没有响应之前不会执行后面的代码。但是
onLoadData2
并没有用await
,也就是在函数内部await
的时候即异步执行期间,主线程继续执行,也就是执行完fetch souhu
后就回到外部继续执行onLoadData
,这就请求了baidu,然后才是tencent