Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点7.1.0 new Promise()解析程序未定义不是函数_Node.js_Promise - Fatal编程技术网

Node.js 节点7.1.0 new Promise()解析程序未定义不是函数

Node.js 节点7.1.0 new Promise()解析程序未定义不是函数,node.js,promise,Node.js,Promise,我正在OSX上使用最新的节点版本7.1.0,但仍然无法使用承诺。我明白了 index.js new Promise(); 错误: TypeError:未定义的承诺解析程序不是函数 node 7.1.0不支持ES6和Promise吗?promises的API要求您将函数传递给Promise构造函数。引述: 新承诺(/*executor*/函数(解析、拒绝){…}) 执行器-一个与参数resolve和reject一起传递的函数。承诺实现立即执行executor函数,传递resolve和reject

我正在OSX上使用最新的节点版本7.1.0,但仍然无法使用承诺。我明白了

index.js

new Promise();
错误:

TypeError:未定义的承诺解析程序不是函数


node 7.1.0不支持ES6和Promise吗?

promises的API要求您将函数传递给Promise构造函数。引述:

新承诺(/*executor*/函数(解析、拒绝){…})

执行器-一个与参数resolve和reject一起传递的函数。承诺实现立即执行executor函数,传递resolve和reject函数(在承诺构造函数返回创建的对象之前调用executor)。resolve和reject函数在调用时分别解析或拒绝承诺。执行器通常会启动一些异步工作,完成后,调用resolve或reject函数来解析承诺,或者在发生错误时拒绝承诺

您可以查看使用示例


节点7.1支持Promission。

您必须向Promise构造函数提供回调,以便它知道在解决或拒绝操作时应该做什么

例如:

var p = new Promise((resolve, reject) => { 
    setTimeout(() => {
        resolve();
    }, 5000);
});

p.then(() => {
    console.log("Got it");
})
5秒钟后,您将在控制台中看到消息
get it

有一个很好的承诺库:

还要检查文档


我喜欢这篇文章。

如果不提供一些论据,就无法通过这种方式创建新的承诺。但是,只需使用
promise.resolve()

显示代码,即可创建解析为
未定义的
承诺。创建一个必须向
newpromise()
传递参数的。您没有传递任何内容,这被视为
未定义的
,它不是函数,因此会出现错误。您传递的函数通常称为“解析器”,因此,如果错误消息说“Promise executor undefined不是函数”,则会更有帮助。这甚至在节点6上也不起作用。你可以试试这个
新承诺(()=>{}),这也是错误的,但不会给出错误。是的,节点7支持承诺。它是从0.12.17开始根据这一点开发的。
var p = new Promise((resolve, reject) => { 
    setTimeout(() => {
        resolve();
    }, 5000);
});

p.then(() => {
    console.log("Got it");
})