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)问题