2016-12-11 32 views
-1

我正在觀看this討論JavaScript中的事件循環,並解釋瞭如何執行「回調」。我寫了這個看看它是如何工作的:如何在javascript函數中傳遞迴調?

function show(str) { 
    return 'Hello ' + str; 
} 

// This does not work 
show('World', function (data) { 
    console.log(data); 
}); 

// This works 
console.log(show('Sayantan')); 

也許我把這件事弄錯了。但是,我如何將回調作爲參數傳遞,就像我試圖做的那樣。例如,在jQuery的$.get()$.post()中,我們在返回響應後給回調做我們想做的事情。所以我希望函數調用會在控制檯中打印'Hello World',因爲這是我在回調中定義的。我究竟做錯了什麼?

回答

1

您可以採取回調並使用所需參數在函數show中調用它。

function show(str, cb) { 
 
    return cb('Hello ' + str); 
 
} 
 

 
show('World', function (data) { 
 
    console.log(data); 
 
});

3

你幾乎沒有 - 你沒有這樣做的唯一事情就是處理回調在show

function show(str,callback) { 
    callback('Hello ' + str); // this will execute the anonymous function with 'Hello ' + `str` as the variable 
    return 'Hello ' + str; 
} 
+0

這只是印刷的 「世界」。 –

+0

我不確定你在做什麼,我已經更新了我的答案 - 如果你不需要它,你也可以刪除回報 –

相關問題