Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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
Javascript node.js+的澄清;承诺片段_Javascript_Node.js_Closures_Promise_Es6 Promise - Fatal编程技术网

Javascript node.js+的澄清;承诺片段

Javascript node.js+的澄清;承诺片段,javascript,node.js,closures,promise,es6-promise,Javascript,Node.js,Closures,Promise,Es6 Promise,的公认答案有以下示例: function getUserDataAsync(userId){ return new Promise(function(resolve,reject){ getUserData(userId,resolve,reject); }); } 问题: Promise的主体不应该返回一些东西,而不仅仅是调用getUserData(至少在实际代码中,不是作为Promise演示练习) 这一特殊的承诺是否也是一种结束?它似乎关闭了userId,

的公认答案有以下示例:

function getUserDataAsync(userId){
    return new Promise(function(resolve,reject){
         getUserData(userId,resolve,reject);
    });
}
问题:

  • Promise
    的主体不应该返回一些东西,而不仅仅是调用
    getUserData
    (至少在实际代码中,不是作为Promise演示练习)

  • 这一特殊的
    承诺
    是否也是一种结束?它似乎关闭了
    userId
    ,因为
    getUserDataAsync
    使用
    userId
    创建并返回一个新的
    Promise
    实例,但我想确定一下

  • 不,它不应该返回一些东西,因为在那个时间点上没有任何东西可以返回,因此你使用承诺的原因

  • Promise的主体不应该返回一些东西,而不仅仅是调用
    getUserData
    (至少在实际代码中,不是作为Promise演示练习)

    不,没必要。事实上,从
    Promise
    构造函数返回一个值将无效只有
    解析
    拒绝
    功能才能实现
    承诺

    这一特殊的
    承诺
    是否也是一种结束?它似乎关闭了
    userId
    ,因为
    getUserDataAsync
    使用
    userId
    创建并返回一个新的
    Promise
    实例,但我想确定一下

    是的,传递给
    Promise
    构造函数的函数关闭
    userId

    1。不2.是的,传递给构造函数的函数表达式形成闭包。