當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
《JavaScript应用程序设计》一一2.17 回调函数
生活随笔
收集整理的這篇文章主要介紹了
《JavaScript应用程序设计》一一2.17 回调函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本節書摘來華章計算機出版社《JavaScript應用程序設計》一書中的第2章,第2.17節,作者:Eric Elliott 更多章節內容可以訪問云棲社區“華章計算機”公眾號查看。
2.17 回調函數
一個函數首先被當作參數傳入給調用者,隨后待調用者完成特定任務時才被執行,我們將這個函數稱之為回調函數。在實際應用中,回調函數一般會被傳入事件監聽器、Ajax請求,或定時器中。對以下示例中回調函數的傳入方式你肯定不會陌生:
var $button = $('<button class="select">Click</button>').appendTo('body');asyncTest('Async callback event listener.', function () {$button.on('click', function clicked() {ok(true, 'Button clicked.');start();});setTimeout(function timedOut() {$button.click();$button.remove();}, 20); });如上述代碼所示,clicked()回調函數被傳入jQuery的on()方法中。當$button接收到click事件時,clicked()被調用,接著執行OK()斷言與Start函數,從而告訴QUnit異步操作已經完成,可以繼續執行測試用例。
緊接著,timedOut()回調被傳入setTimeout()中,觸發在$button上的click事件并刪除$button引用中的DOM元素。
使用回調函數來處理異步操作簡單而有效,但在指定的時間內,只能等待一個異步回調,而且每次回調中僅可以處理一個任務。但如果你需要管理多個異步操作的依賴關系該怎么辦?下面介紹Promises。
總結
以上是生活随笔為你收集整理的《JavaScript应用程序设计》一一2.17 回调函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《HTML5实战》——1.4 其他API
- 下一篇: 《网络安全原理与实践》一第1章 网络安全