我正在執行異步請求以從服務器中提取數據,然後在請求後調用函數。我的問題是如何確保請求已完成,並且在processRecords()運行之前加載了所有數據?運行函數之前如何確保異步請求已完成
在此先感謝。
function getRecords() {
var ids = Server.getIds();
var allTheRecords = [];
ids.forEach(function(recordId) {
Server.getRecord(recordId, function (error, data) {
if(error) {
console.log(error);
} else {
allTheRecords.push(data);
};
});
});
processRecords(allTheRecords);
}
感謝您的反饋。不知道我理解或遵循,雖然:/我無法訪問getRecord函數,因爲它是在一個server.js文件中,爲此練習的目的我無法訪問此文件。我已經讀過關於承諾但尚未實現的任何內容。 –
@LukeAveil找出它在做什麼的最好方法是在devtools中放置斷點並在執行代碼時逐步執行代碼。我已經使用服務器api的模擬對它進行了一些修改,所以它在代碼片段 – synthet1c