3.2KOA async/await 语法
2020-01-06 本文已影响0人
帶頭二哥
async/await 语法
作用
解决异步嵌套问题,传说中的终极解决方案
异步问题
- async/await 实现读取文件 a.txt、b.txt、c.txt
var fs = require('fs'); function doReadFile(file) { return new Promise((resolve,reject)=>{ fs.readFile(file,function(err,data){ resolve(data.toString()) }) }) } // 定义 async 函数 async function asyncFn() { // 使用 await 执行异步代码 let data1 = await doReadFile('a.txt') console.log(data1) let data2 = await doReadFile('b.txt') console.log(data2) let data3 = await doReadFile('c.txt') console.log(data3) } asyncFn()
特点
-
await只能放在async函数中 -
await后面跟Promise对象并且执行并且通过reslove返回结果,也可以是其他类型,但是如果是其他类型就直接执行 -
async返回值是一个Promise对象 - 只要
await后面的Promise执行引发reject,那么整个async函数就会终端操作,async返回值Promise对象引发reject - 通过
try/catch或者Promise的catch解决async函数终端操作