为什么在promise里面无效.那么不返回undefined?



我的同事在结构上写了这样的代码:

Promise.resolve(2).then(void console.log('3')).then(x => x + 2)

谁能解释一下为什么x参数不是"未定义"的?在最后的then

语法

then(onFulfilled)
then(onFulfilled, onRejected)
参数

onFulfilled(可选)
一个满足Promise时异步调用的函数。这个函数只有一个参数,即执行值。如果它不是一个函数,它在内部被替换为一个恒等函数((x) => x),它只是传递执行值。

http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then

void产生这样一个"not a function",特别是undefined,因此onFulfilled函数隐式地被x => x取代。

最新更新