現在我有funcA,funcB,arrayA和arrayB。在funcA中,arrayB將通過請求一些外部信息來填充它自己,並且這樣做的時間是多種多樣的。我希望它在arrayB.length == arrayA.length之後執行funcB,而arrayB是一個全局變量,其內容將在funcB中使用。我假設我需要使用JQuery推遲並承諾..所以我試過這個Javascript承諾依次執行兩個函數
var arrayB = [];
var hi = funcA();
hi.then(funcB());
funcA(){
var Dfd = $.Deferred();
arrayB.forEach(function(x, i){
some external retrieval;
if (arrayB.length == arrayA.length){
Dfd.resolve(arrayB);
}
})
return Dfd;
}
但這沒有幫助。我應該如何改變它?
支票需要內部「一些外部檢索」要做,否則它只是從來沒有解決(因爲它只會發生一次) – MinusFour
@MinusFour我不好。它在那個功能裏面。我只是改變了我的文章 – dwuuuu
所以,在funcA中,arrayB必須已經有數據了嗎?而arrayA通過一些你沒有顯示的方式以某種方式神奇地填充數據? –