ES8--async/await

 async/await是ES8引入的新语法,用来简化Promise异步操作。在async/await出现之前,开发者只能通过链式.then()的方式处理Promise异步操作。

.then链式调用解决了回调地狱的问题,但是代码冗余、阅读性差、不易理解。

async/await的基本使用

  1. 如果一个方法的返回值是Promise实例对象,那么可以在这个方法前面用await进行修饰, 修饰完之后,这个返回值就不再是Promise实例了,而是一个值。需要注意的是如果这个方法内部用到了await,那么这个方法必须用await进行修饰。

 

import thenFs  from then-fs
async function getAllFile() {
const r1 = await thenFs.readFile('./file/1.txt','utf8')
console.log(r1)
const r2 = await thenFs.readFile('./file/2.txt','utf8')
console.log(r2)
const r3 = await thenFs.readFile('./file/3.txt','utf8')
console.log(r3)
}
getAllFile()

async和await使用注意事项:

  1. 如果function中使用了await,则function必须被async修饰
  2. 在async方法中, 第一个await之前的代码会同步执行,await之后的代码会异步执行

 

上一篇:Async和Await


下一篇:Async和Await