這裏是我的代碼正在嘗試:如何獲取回調函數返回的值?
initData:function(period)
{
this.getLoadObject('0',url, this.callbackFunction);
},
我希望收到callbackFunction參數,我想通過initData
返回一個返回值。
任何身體能幫助我,我不是很熟練使用JS。 我試過類似的question但沒有得到幫助。
這裏是我的代碼正在嘗試:如何獲取回調函數返回的值?
initData:function(period)
{
this.getLoadObject('0',url, this.callbackFunction);
},
我希望收到callbackFunction參數,我想通過initData
返回一個返回值。
任何身體能幫助我,我不是很熟練使用JS。 我試過類似的question但沒有得到幫助。
實際上,回調函數可能非常好地異步調用,也就是從調用返回到initData之後。
如果是同步不過,你可以這樣做:
initData:function(period)
{
var that = this;
var result;
this.getLoadObject('0',url, function() {
result = that.callbackFunction(arguments));
});
return result;
},
雖然不可能從您的代碼段告訴,它看起來像你的回調函數將被異步調用。如果是這種情況,您需要在回調函數本身中設置想要由initData填充的變量。
你也可以換回調函數:
var context = this;
this.getLoadObject('0',url, function() {
var returnedval = context.callbackFunction.apply(context,arguments);
context.SomeFuctionToUseValue(returnedval);
});
我想你可以使用變量函數外,這樣你就可以在回調函數外內訪問它。
var result = false;
initData:function(period)
{
this.getLoadObject('0',url, this.callbackFunction);
//inside the callback you can modify the "result" then
return result;
},
不幸的是它的異步。任何其他解決方法? – 2011-04-18 13:58:06
將回調作爲參數傳遞給initData – 2011-04-18 21:38:03