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