async function getData(){
let res1 = await $.ajax({url:'data/arr.txt',dataType:'json'})
let res2 = await $.ajax({url:'data/json.txt',dataType:'json'})
console.log(res1,res2)
}
getData()
let foo = await getFoo();
let bar = await getBar();
这样比较耗时,因为只有getFoo完成以后,才会执行getBar,完全可以让它们同时触发:
// 写法一
let [foo, bar] = await Promise.all([getFoo(), getBar()]);
// 写法二
let fooPromise = getFoo();
let barPromise = getBar();
let foo = await fooPromise;
let bar = await barPromise;
1.继发执行异步
async function logInOrder(urls) {
for (const url of urls) {
const response = await fetch(url);
console.log(await response.text());
}
}
2.并发执行异步
async function logInOrder(urls) {
// 并发读取远程URL
const textPromises = urls.map(async url => {
const response = await fetch(url);
return response.text();
});
// 按次序输出
for (const textPromise of textPromises) {
console.log(await textPromise);
}
}