2016-04-08 61 views
0

我只是想知道這可能是JavaScript回調函數的例子:這是一個JavaScript回調函數的例子嗎?

function doing_stuff(str,callback) //external *asynchronous* function 
    { 
    if(confirm(str)) callback(true); 
    else callback(false); 
    } 

function main_func() //main function 
{ 
var to_be_sent='NONE'; //return value set with default 

var callback = function callback(r) //funzione di callback 
{ 
to_be_sent=r; 
} 

doing_stuff('Sure?',callback); //external function call with *callback* 

return to_be_sent; 
} 
+0

這裏是回調的維基百科頁面:https://en.wikipedia.org/wiki/Callback_(computer_programming) – Clomp

回答

3

你似乎並不理解回調的概念。

在計算機編程,回調是一段可執行代碼作爲參數傳遞其他代碼,其預計在一些方便的回叫(執行)該參數時間。調用可能會立即發生,如同步回調,或者可能在稍後發生,如異步回調

在Javascript中,「一段可執行代碼」可以封裝在函數內。 javascript中的函數是First-Class Citizens,這意味着您可以像處理任何其他值一樣對待它們,執行操作並將它們作爲參數傳遞。

同時回調可以是同步的,它們在異步調用時更有意義。基本上你在說:

嘿,夥計,盡你所能,花點時間,但是每當你完成處理,請執行這段代碼。


所以,回答你的問題:

YES,你有回調使用的例子。

相關問題