Promise and async


#!/usr/bin/env node
// vim: set noexpandtab tabstop=2:
function a() {
return Promise.resolve('a')
}
async function b() {
return Promise.resolve('b')
}
async function c() {
return 'c'
}
console.log(a())
console.log(b())
console.log(c())
对于上面的程序,我得到了如下的输出:
$ ./main.js
Promise { 'a' }
Promise { <pending> }
Promise { 'c' }

但是b的输出与下面视频中显示的(显示为Promise { 'b' })不同。

https://youtu.be/RXN7169vBGw?t = 138

谁能帮我理解为什么有这样的差异?自视频发布以来,nodejs是否发生了变化?

是的,这取决于NodeJs的版本。如果您使用最新版本>= v10.x。x,输出Promise { <pending> }。也许在教程中那家伙用的是v8.x.x。

最新更新