再学习本文介绍内容前,可以看一下文章《 同步异步问题介绍 》
本文中,async
/await
机制和promise
对象,均是采用同步方式获得异步结果。
1、await
await
操作符用于等待一个 Promise
对象, 它只能在异步函数 async function
内部使用.
await
的使用语法非常简单:
[return_value] = await expression;
其中expression
是一个 Promise
对象或者任何要等待的值;
而 await expression
的执行结果有以下几种情况:
若
expression
是一个Promise
对象, 并且其以值x
被 fulfilled, 则返回值为x
.若
expression
是一个Promise
对象, 并且其以异常e
被 rejected, 则抛出异常e
.若
expression
不是Promise
对象, 则会将expression
处理成一个以expression
值被 fulfilled 的Promise
对象, 然后返回这个Promise
对象的最终值 (即 expression 值). 这种用法没太大意义, 因此实际使用时还是尽量在 await 后跟一个Promise
对象.
2、async
使用 async function
可以定义一个 异步函数,语法为:
async function name([param[, param[, ... param]]]) {
statements
}
async
函数的返回