我需要等待两个 API 回调函数的任务,当任务完成时,我希望收到回调,以便我可以使用这两个函数的数据。
我希望该函数能够并行执行...我阅读了很多有关 async.parallel 的问题,但我找不到将这些函数与异步一起使用的方法。
当然async只是一个例子,如果可以的话任何其他方式都可以。
很抱歉我的英语不好,我希望代码更容易理解。
谢谢
var dataFunctionA = "";
var dataFunctionB = "";
var callbackFunctionA = function(err, response, data) {
// do some work with data
dataFunctionA = "Hello";
}
var callbackFunctionB = function(err, response, data) {
// do some work with data
dataFunctionB = " World!";
}
function printHelloWorld(){
console.write(dataFunctionA + dataFunctionB);
}
APIClient.functionA(paramA, callbackFunctionA);
APIClient.functionB(paramB, callbackFunctionB);
// need to wait for the two callbacks
printHelloWorld();
最佳答案
如果你不想使用 promise ,你可以这样做:
var dataFunctionA = "";
var dataFunctionB = "";
var dataFunctionCount = 2;
function checkDone() {
dataFunctionCount--;
if(dataFunctionCount === 0) {
// need to wait for the two callbacks
printHelloWorld();
}
}
var callbackFunctionA = function(err, response, data) {
// do some work with data
dataFunctionA = "Hello";
checkDone();
}
var callbackFunctionB = function(err, response, data) {
// do some work with data
dataFunctionB = " World!";
checkDone();
}
function printHelloWorld(){
console.write(dataFunctionA + dataFunctionB);
}
APIClient.functionA(paramA, callbackFunctionA);
APIClient.functionB(paramB, callbackFunctionB);
关于javascript - Node.js 中 API 调用与回调的异步并行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34445825/