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返回
有Promise返回