簡體   English   中英

如何獲取回調函數返回的值?

[英]How to get value returned by Callback function?

這是我正在嘗試的代碼:

initData:function(period)
{    
    this.getLoadObject('0',url, this.callbackFunction);
},

我想從callBackFunction接收一個返回值,我希望它由initData返回。

有誰能幫助我,對JS不那么精通。 我嘗試了類似的問題,但沒有得到幫助。

實際上,回調函數很可能是異步調用的,也就是從調用返回到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;
},

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM