JavaScript异步编程1.3.2 间或异步的函数_JavaScript异步编程1.3.2 间或异步的函数试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > JavaScript异步编程 > 1.3.2 间或异步的函数

JavaScript异步编程——1.3.2 间或异步的函数

有些函数某些时候是异步的,但其他时候却不然。举个例子,jQuery的同名函数(通常记作$)可用于延迟函数直至DOM已经结束加载。但是,若DOM早已结束了加载,则不存在任何延迟,$的回调将会立即触发。 不注意的话,这种行为的不可预知性会带来很多麻烦。我曾经看到也犯过这样一个错误,即假定$会在已加载本页面其他脚本之后再运行一个函数。 // application.js $(function() { utils.log('Ready'); }); // utils.js window.utils = { log: function() { if (window.console) console.log.apply(console, arguments); } }; <script src ="application.js"></script> <script src ="util.js"></script> 这段代码运行得很好,但前提是浏览器并未从缓存中加载页面(这会导致DOM早在脚本运行之前就已加载就绪)。如果出现这种情况,传递给$的回调就会在设置utils.log之前运行,从而导致一个错误。(为了避免这种情况,应该采用一种更现代的管理客户端依赖性的方法。请参阅第6章。) 下面来看另一个例子。

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《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 小结