0
我試圖在多個函數中獲取一些數據,並希望鏈接它們才能在所有數據正確加載時執行最後一個函數。jQuery函數鏈與延遲:.done() - 函數即時調用
問題是,.done()部分中的函數將立即調用,不要等到Deferred-Object解析完成。我也試着用.then()鏈接它們,但是這也不起作用。
var array1, array2;
function doStuffWithReceivedData() {
// Working with the data
}
function getArray1() {
var defArray1 = $.Deferred();
$.getJSON(url, function(data) {
if (data.success) {
array1 = data.payload;
defArray1.resolve();
} else {
// Information displayed that there was an error
}
})
return defArray1;
}
// Function 2 is like the first one
function getArray2() {...};
$(document).read(function() {
getArray1()
.done(getArray2()
.done(doStuffWithReceivedData()));
}
你正在調用這些方法,沒有給出它們的引用。刪除括號。 –
使用this-- getArray1()。promise()。done(function(){ doStuffWithReceivedData() }); –
https://stackoverflow.com/questions/15886272/what-is-the-difference-between-a-function-call-and-function-reference – Utkanos