在下面的示例代码中,我可以同时运行多功能
Promise.all([sendMoneyToRequestedUser(_data), saveTransferMoneyTransaction(_data)])
.then(function (results) {
log.info("OOOOOOOOOOOOOo");
}).catch(function (error) {
log.info(error)
});
但是我想为他们创建一个简单的队列,例如,我可以Promise
使用此解决方案来实现吗?我有3个函数check
,send
和post
,我想依次运行并将每个步骤的结果传递给另一个函数。
步骤1,check()
功能,步骤2,send()
功能,然后在完成后执行功能,例如post()
对于此实现,我需要获取每个步骤的结果,例如从步骤1获取结果,如果返回的结果为true,则在步骤2上我需要使用步骤1的结果,
async.parallel
解决方案是解决方案吗?或Promise
可以这样做
更新:关于给出什么以及期望什么,这个问题还不清楚。从评论中,我得到以下内容:
给出了,和的三个功能check
,希望可以连续运行。send
post
假设上述check
,send
和post
都返回Promises,例如:
function check() {
return new Promise(function (resolve, reject) {
// Do some stuff and save them in a var 'results'
var results = ...;
resolve(results);
});
}
然后,您可以简单地建立一个队列,如下所示:
check()
.then(send)
.then(post)
.catch(function(err) { console.error(err); })
在每个级别调用该函数,并使用从上一个级别解析的值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句