我試圖創建一個數組從API調用的輸出設置同步的NodeJS調用。所有API調用都基於條件。我已經嘗試了下面的代碼。如何使基於條件
var a = true;
var b = false;
var c = true;
var result = [];
if(a)
{
callApi("a", function(data){
result.push(data); //data = this is a
})
}
if(b)
{
callApi("b", function(data){
result.push(data); //data = this is b
})
}
if(c)
{
callApi("c", function(data){
result.push(data); //data = this is c
})
}
console.log(result);
輸出應該是
["this is a", "this is c"];
「B」 不應該來這裏,因爲條件是它錯誤的。
但它顯示空數組,因爲它沒有等待回調。
[]
如何讓整個過程同步?
讓我們使用術語* promisify *,而不是* promessify * :-) – Bergi
@Bergi,當然,我並不熟悉確切的術語。 –
我想建議的代碼,但我無法看到使用的console.log(結果)結尾的數據;在Q.allSettled –