Javascript 返回函数并使用Promise.all调用

Javascript 返回函数并使用Promise.all调用,javascript,Javascript,函数getMyFunction(数据){ return()=>新承诺((解决、拒绝)=>{ 解析('这里是值:',数据); }); } const myFunction=getMyFunction('a'); 我保证([ 我的职能, ])。然后((结果)=>{ log('result:',result); });getMyFunction返回一个返回承诺的函数,因此需要调用myFunction来获取承诺: constmyfunction=getMyFunction('a'); 我保证([ myF

函数getMyFunction(数据){ return()=>新承诺((解决、拒绝)=>{ 解析('这里是值:',数据); }); } const myFunction=getMyFunction('a'); 我保证([ 我的职能, ])。然后((结果)=>{ log('result:',result);
});
getMyFunction
返回一个返回承诺的函数,因此需要调用
myFunction
来获取承诺:

constmyfunction=getMyFunction('a');
我保证([
myFunction(),//{
log('result:',result);
});

getMyFunction
返回一个返回承诺的函数,因此需要调用
myFunction
以获取承诺:

constmyfunction=getMyFunction('a');
我保证([
myFunction(),//{
log('result:',result);
});

getMyFunction
按照名字的意思做:它给你一个函数。它不调用它。
承诺。所有的
都需要承诺。你必须调用该函数才能得到承诺

您可能希望它是
getMyPromise
,并让它实际返回承诺,而不是一个将返回承诺的函数,因为
promise的本质是并行运行的(我假设您将有多个函数;否则,就没有必要返回
promise.all
):

函数getMyPromise(数据){ 返回新承诺((解决、拒绝)=>{ 解析('这里是值:'+数据); }); } 我保证([ getMyPromise('a'), getMyPromise('b'), getMyPromise('c') ])。然后((结果)=>{ log('result:',result);
});
getMyFunction
按照名字的意思做:它给你一个函数。它不叫它。
承诺。所有的
都期望一个承诺。你必须调用该函数才能得到承诺

您可能希望它是
getMyPromise
,并让它实际返回承诺,而不是一个将返回承诺的函数,因为
promise的本质是并行运行的(我假设您将有多个函数;否则,就没有必要返回
promise.all
):

函数getMyPromise(数据){ 返回新承诺((解决、拒绝)=>{ 解析('这里是值:'+数据); }); } 我保证([ getMyPromise('a'), getMyPromise('b'), getMyPromise('c') ])。然后((结果)=>{ log('result:',result);
})
resolve('这是值:',数据)
resolve只接受一个参数,第二个参数将被忽略。为什么会出现这种行为?从您使用的名称可以看出,您知道您处理的是一个函数,而不是一个承诺。那么您如何获得这种预期?
resolve('这是值:',数据)
resolve只接受一个参数,第二个参数将被忽略。你为什么期望这种行为?通过你使用的名称,你知道你处理的是一个函数,而不是一个承诺。那么你如何获得这种期望呢?我想补充一点,OP返回一个箭头函数。@RaunakMukhia这有什么区别在这个例子中,我想澄清一下()=>{}实际上是一个箭头函数,用来澄清OP的疑问。@RaunakMukhia所有这些都与此无关。请不要在答案中添加无关的注释。这只是添加了无意义和无用的内容noise@charlietfl对不起,我会记住这一点。我只是想澄清为什么OP返回一个函数,以及为什么他必须在我想补充一点,OP返回一个箭头函数。@RaunakMukhia在这个例子中有什么区别?@charlietfl我想澄清一下()=>{}实际上是一个箭头函数,用来澄清OP的疑问。@RaunakMukhia所有这些都与此无关。请不要在答案中添加无关的注释。这只是添加了无意义和无用的内容noise@charlietfl对不起,我会记住这一点。我只是想澄清为什么OP返回一个函数,以及为什么他必须在ards。