嗨,我在 Nodejs 上有三个函数。
var one = function(){ implementation };
var two = function(){ implementation };
var three = function(){ implementation };
现在函数一和函数二是独立的,但函数三应该只有在函数一和函数二都完成执行时才能运行。我不想将函数二嵌套在函数一内,因为它们可以并行运行;在nodejs中可以做到这一点吗?
最佳答案
在这种情况下,我会使用标志。
(function() {
//Flags
oneComplete = false;
twoComplete = false;
one(function() {
oneComeplete = true;
if (oneComplete && twoComeplete) {
three();
}
});
two(function() {
twoComeplete = true;
if (oneComplete && twoComeplete) {
three();
}
});
})();
一旦one执行完毕,就会进入回调并检查two()是否完成。如果是这样,它将运行 Three()。
同样,如果两个首先完成执行,那么它将检查 oneComplete 并运行 Three()
如果您需要添加更多函数(例如 one() 和 Two()),则此解决方案将无法扩展。对于这样的情况,我建议https://github.com/mbostock/queue
关于javascript - Nodejs函数依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21771281/