2
我有一個功能,我做多個異步函數調用。 handleData
函數返回一個Json對象。我需要在draw
方法中使用這些不同的Json對象。任何想法如何將結果值傳遞給繪製方法?我將不勝感激任何幫助。這裏是我的代碼:如何從多個異步函數調用返回響應?
var publicationData = new Array();
var researchers = [];
var year = [];
var title = [];
var pub = [];
var dataJson = [];
callServerAsync();
function callServerAsync(){
$.get('Year2014.html').then(function(responseData) {
var result1 = handleData(responseData, dataJson);
});
$.get('tauchi_publications.html').then(function(responseData) {
var result2 = handleData(responseData, dataJson);
});
//TO-DO
//draw(result1, result2);
}
function handleData(responseData, dataJson){
var htmlObject = document.createElement('div');
htmlObject.innerHTML = responseData;
pub = htmlObject.getElementsByClassName("julkaisu");
getPublicationData(pub);
getResearchersYearTitle(publicationData);
dataJson = createJson(researchers,year,title);
return dataJson;
}
function draw(result1,result2){
result1.concat(result2);
}
當我在draw方法中打印result1和result2內容時,我看到它們具有相同的內容。 Json對象被連接而不使用concat方法。你爲什麼認爲這是這樣的? – supaplex
我可以製作一個獨立的小提示,告訴你上面的代碼可以像廣告中那樣工作,如果這可以向你保證的話。它看起來像你的'handleData'函數是錯誤的 - 爲什麼它需要dataJson參數?總的來說,我不明白你在那裏做什麼。 –