2017-02-26 71 views
-2

如何將變量傳遞迴回調函數。例如,如果api調用完成,我想將其數據返回回調函數。如何將變量傳遞迴回調函數

我想這archieve(我怎麼打發數據變量?):

MyObject.DoItWithThis(function(***data***) { 
    console.log(data) 
} 

設置回調 - > API請求開始 - > API請求結束 - >電話結果的回調。

+0

哪裏是你的'MyObject.DontWithThis()'代碼? – nnnnnn

+0

http://stackoverflow.com/questions/3458553/javascript-passing-parameters-to-a-callback-function –

+0

@OusmaneDiaw我看到了這個問題。我想在函數中接收一個變量不傳遞它。 – tom12e

回答

0

最簡單的方法是,如果您只需要傳回一個片段,就是從該函數返回該值。

但是,您的調用代碼必須知道該返回類型並使用它來使其工作。

function callee(data){ 
    if (data == null) 
     return false; 
    doStuffWith(data); 
    return true; 
} 

function caller(callback){ 
    var nonNull = "abc"; 
    if (callback(nonNull)){ 
     doSomeOtherStuff(); 
    } 
} 

caller(callee); 
0

我已經與ES6通過以下方式解決了這個問題:

關注它在行動:http://codepen.io/anon/pen/vxOGve

class Test { 
    constructor() { 
     this.callback = function (data) { 
      console.log(data) 
     }; 
     for (var i = 0; i < 50; i++) 
      if (this.callback && typeof this.callback === "function") { 
       this.callback("lol"); 
      } 
    } 

    // for example 
    set Callback(callback) { 
     this.callback = callback; 
    } 
} 

var test = new Test(); 
相關問題