在另一个函数调用之前验证JSON响应

时间:2012-05-15 14:15:19

标签: javascript json

var jsonData = Model.CheckData(); 

//如果我得到了当时的响应,我必须将响应传递给下面的以下函数。

if (!jsonData) {
    Ti.API.warn("JsonData");
    SendRes(jsonData);
}

我面临的问题是,在我得到第一个响应之前,函数正在执行。它应该按顺序发生。

注意:我无法在我的Json SendRes上调用函数OnLoad,因为它在一个不同的类中一起调用。

1 个答案:

答案 0 :(得分:1)

我认为Model.CheckData()是一个AJAX调用。一旦ajax完成,你可以给它一个回调。您必须修改该调用以接受回调:

//pass a callback to CheckData
Model.CheckData(function(jsonData){
    //do something with jsonData
    if (!jsonData) {
        Ti.API.warn("JsonData");
        SendRes(jsonData);
    }
});

//while in the CheckData function
function CheckData(callback){
    ...ajax call...
    //execute this on receive where "response" is your JSON
    callback(response);
}