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参数?总的来说,我不明白你在那里做什么。 –