《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异步编程

JavaScript异步编程
作者: Trevor Burnham
副标题: 设计快速响应的网络应用
原作名: Async JavaScript: Build More Responsive Apps with Less Code
isbn: 7115316570
书名: JavaScript异步编程
页数: 118
译者: 许青松
定价: 32.00元
出版社: 人民邮电出版社
装帧: 平装
出版年: 2013-6