0
var Model= function () {

        function GetData() {    
            // Sending the request and i am getting the response. 

            JsonClientScheduleCareProvider.onload = function () {
                return this.responseText;
            };
            // error handling
            JsonClientScheduleCareProvider.onerror = function (e) {

            };
        return {
            GetApps: GetData,
        }

   }();    

在下面的代码中,我进行了 JSON 调用。如果我得到响应,我应该sendData用响应调用函数。

    var jsonData = Model.GetApps();
    if (!jsonData) {
        Ti.API.warn("JsonData");
        SendData(jsonData);
    }

我面临的问题是在jsonData得到我的响应之前,SendData被调用了。只有在收到响应时,我才需要执行 SendData 函数。

4

1 回答 1

1

您需要等到您的回复送达。为此目的使用callback功能。

尝试这样的事情:

var Model= function () {

    function GetData( callback ) {    
        // Sending the request and i am getting the response. 

        JsonClientScheduleCareProvider.onload = function () {
            callback( this.responseText );
        };
        // error handling
        JsonClientScheduleCareProvider.onerror = function (e) {
            callback( null );
        };
    }
    return {
        GetApps: GetData,
    }

}(); 

Model.GetApps( function(jsonData){
   if (!jsonData) {
    Ti.API.warn("JsonData");
    SendData(jsonData);
   }
} );
于 2012-05-16T11:57:47.713 回答