2010-09-16 95 views
2

這不是一個jQuery的問題。創建一個回調函數並將它連接起來

我想創建一個回調函數...所以用戶會使用它像這樣:

myfunc.init('id',{option1: val, option2: val2}, function() { 

//in here users can now call methods of myfunc 

}); 

如何做到這一點我的代碼中。操作系統一旦我知道我的腳本已經準備就緒,我想能夠以某種方式調用這個匿名函數。

希望這是有道理的。我經常不會。

回答

2

你可以寫這樣的:

var myfunc.init(id, options, callbackFunction){ 

//do whatever you want with id & options 

callbackFunction(); 

} 

這將首先運行一切你想在你的init函數中運行提供的函數作爲回調參數

+0

當然,我在腦海中過度複雜化 – 2010-09-16 12:07:47

2

事情是這樣的:

var myfunc.init = function(id, options, func) { 
    // call func somewhere at some point 
    func(); 
}; 

通常回調的使用,因爲你想在某個時間點調用它是未知的(非同步)...像例如,當一個AJAX請求完成:

var myfunc.init = function(id, options, func) { 
    myAjaxRequest("url.com", function() { 
     // call the func at this point in time 
     func(); 
    }); 
}; 
+0

THanks,我在等待YouTube的api告訴我玩家已經準備好了。那時我想讓用戶提示新視頻/移位播放頭等。 – 2010-09-16 12:08:31

相關問題