JavaScript异步编程第1章:深入理解JavaScript事件_JavaScript异步编程第1章:深入理解JavaScript事件试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > JavaScript异步编程 > 第1章:深入理解JavaScript事件

JavaScript异步编程——第1章:深入理解JavaScript事件

事件!事件到底是怎么工作的?JavaScript出现了多久,对JavaScript异步事件模型就迷惘了多久。迷惘导致bug,bug导致愤怒,然后尤达大师就会教我们如何如何…… 不过本质上,从概念上看,JavaScript事件模型既优雅又实用。一旦大家接受了这种语言的单线程设计,就会觉得JavaScript事件模型更像是一种功能,而不是一种局限。它意味着我们的代码是不可中断的,也意味着调度的事件会整整齐齐排好队,有条不紊地运行。 本章将介绍JavaScript的异步机制,并破除一些常见的误解。我们会看到setTimeout真正做了些什么。接着会讨论回调中抛出错误的处理。最后会奠定本书的主旨:为了清晰和可维护性,努力组织异步代码。 1.1 事件的调度 如果想让JavaScript中的某段代码将来再运行,可以将它放在回调中。回调就是一种普通函数,只不过它是传给像setTimeout这样的函数,或者绑定为像document.onready这样的属性。运行回调时,我们称已触发某事件(譬如延时结束或页面加载完毕)。 当然,可怕的总是那些细节,哪怕是像setTimeout这样看起来很简单的东西。对setTimeout的描述通常像这样: 给定一个回调及n毫秒的延迟,setTimeout就会在n毫秒后运行该回调。 但是,正如我们将在这一节乃至这一章里看到的,以上描述存在严重缺陷。大多数情况下,该描述只能算接近正确,而在其他情况下则完全是谬误。要想真正理解setTimeout,必须先大体理解JavaScript事件模型。

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《JavaScript异步编程》其他试读目录

• 第1章:深入理解JavaScript事件 [当前]
• 1.1.1 现在还是将来运行
• 1.1.2 线程的阻塞
• 1.1.3 队列
• 1.2 异步函数的类型
• 1.2.1 异步的I/O函数
• 1.2.2 异步的计时函数
• 1.3 异步函数的编写
• 1.3.1 何时称函数为异步的
• 1.3.2 间或异步的函数
• 1.3.3 缓存型异步函数
• 1.3.4 异步递归与回调存储
• 1.3.5 返值与回调的混搭
• 1.4 异步错误的处理
• 1.4.1 回调内抛出的错误
• 1.4.2 未捕获异常的处理
• 1.4.3 抛出还是不抛出
• 1.5 嵌套式回调的解嵌套
• 1.6 小结