await
MDN的描述:
await 表达式会暂停当前 async function 的执行,等待 Promise 处理完成。
若 Promise 正常处理(fulfilled),其回调的resolve函数参数作为 await 表达式的值,继续执行async function。
若 Promise 处理异常(rejected),await 表达式会把 Promise 的异常原因抛出。
另外,如果 await 操作符后的表达式的值不是一个 Promise,则返回该值本身。
或者可以这样简单理解
await
只能在async function
中使用。await
把它后面的异步方法变成了同步方法,resolve函数参数作为await
表达式的值。await
后的方法异常会抛出,所以外层要try/catch
。
async/await 相比原来的Promise的优势在于处理 then 链,不必把回调嵌套在then中,只要await即可,如
延迟执行
1 | export function delay(time) { |
使用
1 | import { delay } from "@/utils/delay_utils"; |