2015-05-06 45 views
-1

我試試這個:獲取無極數據出來吧的Javascript

var result = []; 
promise.then(function (data) { 
    result.push(data); 

}); 
console.log(result) 

,結果數組是空的。有沒有辦法讓它脫離承諾?

+0

什麼是'promise'顯示更多代碼。你在哪裏定義了「承諾」? –

+4

該死的。通常我們通過告訴使用承諾來回答這個問題... –

+1

@Edwin沒關係 –

回答

1

沒有,you can't.

承諾的要點是允許的行動,一個簡單的鏈接,他們中的一些異步的。

你可以做

var result = []; 
promise.then(function (data) { 
    result.push(data); 
}).then(function(){ 
    console.log(result) 
}); 

我建議你閱讀this introduction to promises

1

承諾有時被稱爲期貨未來值。您不能直接獲得價值超出承諾,但您可以獲得未來價值承諾,如下所示。

var futureResult = promise.then(function (data) { 
    var result = []; 
    result.push(data); 
    return result; 
}); 

futureResult.then(function (result) { 
    console.log(result); 
}); 

futureResult.then(function (result) { 
    console.log('another logger'); 
    console.log(result); 
});