async函数

Posted 专注前端开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了async函数相关的知识,希望对你有一定的参考价值。

async函数的实现原理,就是将Generator函数和自动执行器,包装在一个函数里
async函数返回Promise对象,async函数的return值是then方法的参数,await后跟Promise对象或者数值,字符串,布尔值。
await命令后面的Promise对象,运行结果可能是rejected,所以最好把await命令放在try...catch代码块中。
一、错误捕获

// 用try catch实现
async function demoFn() {
  try {
    await somethingThatReturnsAPromise();
    throw new Error(‘oneerror‘);
  } catch (err) {
    console.log(err);
  }
}

// 用Promise的catch()方法实现
async function demoFn() {
  await somethingThatReturnsAPromise()
  .catch(function (err) {
    console.log(err);
  });
}

二、继发和并发操作

// 继发
let foo = await getFoo();
let bar = await getBar();

// 并发
let [foo, bar] = await Promise.all([getFoo(), getBar()]);

三、异步遍历器接口

四、for await of

以上是关于async函数的主要内容,如果未能解决你的问题,请参考以下文章

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

ES7-Es8 js代码片段

第126篇: 异步函数(async和await)

用 async/await 来处理异步

async和await用法