gpt4 book ai didi

javascript - 产生异步执行 JavaScript

转载 作者:太空宇宙 更新时间:2023-11-04 00:47:21 25 4
gpt4 key购买 nike

我想用代码来说明问题:

var async1 = f1(params, cb);
var async2 = f2(params, cb);

现在我可以通过 waterfall 异步过程调用 async1,如下所示:

async.waterfall([
function(cb){

async1(params, cb);
async2(params, cb);

},
//default process
function(result, cb){
//some code here and then

cb(null, result);
}
], done);

我的问题是如何等待 async1 完成 done 回调,以便我可以调用 async2。这两个任务都需要运行默认进程和完成回调。

是否有一种方法/设计模式可以让我运行async1,并且在完成后我可以在同一个 waterfall 异步函数中运行async2?完成默认流程和完成回调都需要两个异步函数。

谢谢。

最佳答案

您可以通过使用回调函数来完成此任务。考虑以下因素:

// When you're defining this function, give it a callback parameter
function async1(params, cb, callback){
...
// Call the callback function when this process is complete
callback();
}

...

// Then call your functions something like this
async1(params, cb, function(){
async2(params, cb);
});

这也可以通过使用 Promises 来完成。 Promise 的想法是一样的,只是做得有点不同。

关于javascript - 产生异步执行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34113468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com