BFE.devAI解答 - JavaScript 小测验
130. async
这段代码中
- 函数a是一个异步函数,它返回f()的结果
- 函数b也是一个异步函数,但是它使用await关键字等待f()的结果后再返回
- 函数c是一个普通的同步函数,直接返回f()的结果
在最后的console.log中,分别调用了a,b和c函数,然后比较它们的返回值。
- 第一个console.log比较a()和b()的返回值,它们都会返回promise对象,并且是同一个promise对象,所以返回true。
- 第二个console.log比较b()和c()的返回值,虽然它们最终都会返回同一个promise对象,但是b()是一个异步函数,所以会返回一个pending状态的promise,而c()是一个同步函数,直接返回promise对象,所以返回false。
- 第三个console.log比较a()和c()的返回值,由于它们都是返回promise对象,并且是同一个promise对象,所以返回true。