我有一个问题,如何正确调用/返回一个函数数据。我有这个函数displayTableWithCountryStates,它调用getCountryStates函数。问题是,当我发出请求$ .get时,我得到了正确的响应,但当我尝试返回此响应时,displayTableWithCountryStates中的console.log(countryStates)为空
countryStatesTables = {
displayTableWithCountryStates: function (source, newForm) {
var countryId = 237;
var countryStates = countryStatesTables.getCountryStates(countryId);
console.log(countryStates); // Response is empty
},
getCountryStates: function (countryId) {
if (countryId !== '' || countryId !== 'undefined') {
$.get(balthazar.settings.logistics.getCountryStatesUrl.url + '/' + countryId, function (data) {
console.log(data.data); //Response is ok, data is present
return data.data;
});
}
}
};
为什么以及如何在displayTableWithCountryStates函数中正确返回数据。如果您需要任何其他信息,请告诉我,我会提供。谢谢!
答案 0 :(得分:4)
异步函数需要回调来处理数据,因为我们不确切知道何时返回输出。你也可以承诺。
if (cb) cb();