产生asynchronous执行的JavaScript

我想用代码说明问题:

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

现在我可以通过瀑布asynchronous过程调用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 donecallback,所以我可以调用async2 。 这两个任务都需要运行默认进程和完成callback。

如果有一种方法/devise模式,我可以运行async1和完成后,我可以在同一个瀑布asynchronous函数内运行async2 ? 这两个asynchronous函数都需要完成默认进程和完成callback。

谢谢。

您可以使用callback函数来完成此操作。 考虑以下:

 // 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); }); 

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