我已经开始使用 Node.js 作为后端来执行不同的操作,例如数据库查询/ API 调用等。我正在阅读有关 Node.js 的内容Async并决定尝试一下。它一直适用于简单的用例,在这些用例中,我想要并行或串行执行一些任务,但不知何故,我遇到了一个要求,即我需要异步的串行/并行/瀑布技术的最佳组合。
使用案例:
我有以下通过回调实现的函数:
function A(input, callback) {
...
callback(err,result);
}
function B(input1, input2, callback) {
...
callback(err,result);
}
function C(input, callback) {
...
callback(err,result);
}
function D(input, callback) {
...
callback(err,result);
}
function E(input, callback) {
...
callback(err,result);
}
他们的执行顺序应该是这样的:
A -> [B -> D]
A -> [C -> E]
另外,我需要将数据从每个函数传递到它们的依赖函数。因此,A 应该将结果传递给 B 和 C。类似地,B 传递给 D,C 传递给 E。
如何使用异步模块有效地执行它们?
我想我需要类似但不确定的东西:
async.waterfall(
A: ...,
async.parallel(
async.waterfall (
B,
D
),
async.waterfall (
C,
E
)
)
)