async

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);
  }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • async 函数 含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async 函数是...
    huilegezai阅读 1,267评论 0 6
  • 含义 async函数是Generator函数的语法糖,它使得异步操作变得更加方便。 写成async函数,就是下面这...
    oWSQo阅读 2,005评论 0 2
  • 仅为方便个人查询使用来源:http://es6.ruanyifeng.com/#docs/async 含义 ES2...
    zqyadam阅读 238评论 0 0
  • JS中的异步处理。 在javascript中,语言的执行环境是”单线程”。所谓“所谓"单线程",就是指一次只能完成...
    Kris_lee阅读 392评论 0 0
  • 1、含义 在ES2017标准中引入了async函数,使得一步操作变得更加方便。那么async函数是什么?一句话,它...
    24KBING阅读 340评论 0 0