《JavaScript应用程序设计》一一2.17回调函数

    xiaoxiao2023-06-29  189

    本节书摘来华章计算机出版社《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。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)