节点7.1.0新的Promise()parsing器未定义不是一个函数

我在OSX上使用最新的节点版本7.1.0,但是我仍然不能使用Promises。 我明白了

index.js

new Promise(); 

错误:

 new Promise(); ^ 

TypeError:Promise resolver undefined不是一个函数

节点7.1.0不支持ES6和Promise?

承诺的API要求您将函数传递给承诺构造函数。 引用MDN :

new Promise(/ * executor * / function(resolve,reject){…});

执行者 – 一个与parameter passing的函数parsing和拒绝。 执行器函数由Promise实现立即执行,传递parsing和拒绝函数(在Promise构造器甚至返回创build的对象之前调用执行器)。 parsing和拒绝function在被调用时分别parsing或拒绝承诺。 执行者通常启动一些asynchronous工作,然后,一旦完成,调用parsing或拒绝函数来解决承诺,否则拒绝发生错误。

你可以看到这个答案的用法示例。

节点7.1支持promise。

您必须为Promise构造函数提供callback,以便在parsing或拒绝操作时知道该怎么做。

例如:

 var p = new Promise((resolve, reject) => { setTimeout(() => { resolve(); }, 5000); }); p.then(() => { console.log("Got it"); }) 

5秒后,您将在控制台中看到消息“ Got it

Promises: Bluebird有一个非常好的图书馆

检查MDN文档。

我喜欢Google开发者的这篇文章。