【发布时间】:2014-11-07 15:45:13
【问题描述】:
我有一个 jsonp ajax 调用,它被执行并将数据返回到我的主函数。
这是通过调用that.mainfunction(newData);在成功函数中完成的
这意味着主函数被第二次调用,我认为我在时间/执行问题中运行。
在第一次迭代中运行时,newData 为空,并返回空给主函数。这个框架的主要功能是我必须使用的。所以另一个控件试图调用空的getter。因此控件为空。
然后第二次迭代开始。数据在这里,脚本调用that.mainfunction(newData); 并将数据返回给主函数。
但是
第二次迭代运行的时间太晚了,无法将数据传输到控件。因为它已经尝试获取数据。
如何避免这个时间/执行问题?是否有一些事件总线可以在使用 jquery 时发布/订阅?
这是一些代码:
sap.designstudio.sdk.Component.subclass("component", function() {
var that = this;
this.processDataFromServer = function(){
function getData(callback){
$.ajax({
url: path,
dataType: 'jsonp',
contentType: "application/json",
success: function(data){
callback(data);
}
});
};
getData(processData);
function processData(data){
this.processDataFromServer(data);
};
}
this.mainFunction = function(newValue){
if(typeOf(newValue) == "undefined"{
this.processDataFromServer();
} else {
return newValue;
}
}
}
【问题讨论】:
标签: jquery ajax jsonp execution execution-time