这是我正在尝试的代码:
initData:function(period)
{
this.getLoadObject('0',url, this.callbackFunction);
},
我想从callBackFunction收到一个返回值,我希望initData
返回该值。
任何身体都可以帮助我,对JS不是那么精通。 我尝试过类似的question,但没有得到帮助。
答案 0 :(得分:2)
实际上,回调函数很可能是异步调用的,即从调用initData返回之后。
如果它是同步的,你可以这样做:
initData:function(period)
{
var that = this;
var result;
this.getLoadObject('0',url, function() {
result = that.callbackFunction(arguments));
});
return result;
},
答案 1 :(得分:1)
虽然从代码片段中无法分辨,但看起来您的回调函数将被异步调用。如果是这种情况,您需要在回调函数本身中设置要由initData填充的变量。
你也可以包装回调函数:
var context = this;
this.getLoadObject('0',url, function() {
var returnedval = context.callbackFunction.apply(context,arguments);
context.SomeFuctionToUseValue(returnedval);
});
答案 2 :(得分:0)
我认为您可以在函数外部使用变量,因此您可以在回调函数内部和外部访问它。
var result = false;
initData:function(period)
{
this.getLoadObject('0',url, this.callbackFunction);
//inside the callback you can modify the "result" then
return result;
},