一.什么是async
async 函数返回一个 Promise 对象,当函数执行的时候,一旦遇到 await 就会先返回,等到触发的异步操作完成,再接着执行函数体内后面的语句。
1 | async function fn() { |
二.什么是await
await 表达式会暂停当前 async function 的执行,等待 Promise 处理完成。若 Promise 正常处理(fulfilled),其回调的resolve函数参数作为 await 表达式的值,继续执行async function。若 Promise 处理异常(rejected),await 表达式会把 Promise 的异常原因抛出。另外,如果 await 操作符后的表达式的值不是一个 Promise,则返回该值本身。
三.async与await
1 | function text() { |
对改进代码说明:
- const result = await text() 改进在:这里用了await关键字
- 首先await只能在异步函数里使用,所有我在最外面写了一个async函数
- await关键字:用于等待一个异步方法的执行完成.
- 如果它等到的不是一个promise对象,那么await表达式运算结果就是它等到的东西.
- 如果它等到的是一个promise对象,那么它会阻塞后面的代码,等着Promise对象的resolve,然后得到resolve的值,作为await表达式的运算结果,接着执行后面的代码