await使用方式的个人理解

122 阅读1分钟

a.  await 只能在异步函数(async function)中使用: await 关键字只能在异步函数中使用,这样可以确保在等待异步操作时不会阻塞主线程。

b. 被 await 修饰的表达式必须是一个Promise对象: await 关键字只能等待一个Promise对象的解析结果。如果 await 后面的表达式不是一个Promise对象,JavaScript会自动将其包装为一个已解决的Promise对象。

c.  await 会暂停函数的执行:当遇到 await 关键字时,函数的执行会暂停,直到 await 后面的Promise对象解析完成。这样可以确保在异步操作完成之前不会继续执行后续的代码。

d.  await 会阻塞后续代码的执行: await 关键字会阻塞后续代码的执行,直到 await 后面的Promise对象解析完成。这样可以确保在获取异步操作结果之后再进行后续的处理。

e. 可以使用 try-catch 捕获异常:如果 await 后面的Promise对象被拒绝(rejected),会抛出一个异常。你可以使用 try-catch 语句来捕获并处理这些异常。

总的来说await修饰的方法一定要有返回Promise的结果,不然的话不能实现按顺序执行的效果,例如:

没有Promise返回

image.png

有Promise返回

image.png