2013-05-01 180 views
0

最近我已經取代xmlHTTPRequest與我的web服務調用JSONP請求,但我發現,我得到的錯誤,由於它。我可以看到JSONP有點慢。JSONP請求發出

initialize:function(){ 
    this.callParent(); 
    var jsonObject = Ext.create('MyProj.library.webservice').makeJSONPRequest('top_categories_json'); 
    Ext.getCmp('categoryList').setData(jsonObject.info); 
    console.log(jsonObject.info); 
} 
makeJSONPRequest: function(urlx, postparams) { 
    Ext.data.JsonP.request({ 
    params:{ 
     params: Ext.JSON.encode(postparams) 
    }, 
    success: function(result) { 
     console.log('JSON RES'); 
     console.log(result.info); 
     if (result) { 
     //return JSON.parse(result); 
     return result; 
     } else { 
     Ext.Msg.alert('Error', 'There was an error retrieving the weather.'); 
     } 
    } 
    }); 
} 

我看得出來,在執行makeJSONPRequest通話後,它執行下一個stateemnt無需等待JSONP請求的完成,所以jsonObject變得不確定。在該錯誤之後,JSONP請求完成並打印該值。無論如何暫停主線程,直到JSONP請求完成。

回答

1

號電話爲您服務是異步。你真的需要把所有的邏輯放在回調處理程序中。或者在收到回覆並處理該事件後生成事件。