函数返回"空"响应

时间:2017-07-26 12:05:24

标签: javascript jquery

我有一个问题,如何正确调用/返回一个函数数据。我有这个函数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函数中正确返回数据。如果您需要任何其他信息,请告诉我,我会提供。谢谢!

1 个答案:

答案 0 :(得分:4)

异步函数需要回调来处理数据,因为我们不确切知道何时返回输出。你也可以承诺。



if (cb) cb();