JavaScript 中有大量异步操作,首先可以看看 JS 中什么东西会产生异步(这里先只考虑浏览器里的情况):
- Ajax(XMLHttpRequest)
- Image Tag,Script Tag,iframe(原理类似)
- setTimeout/setInterval
- CSS3 Transition/Animation
- postMessage
- Web Workers
- Web Sockets
- and more…
实际上在我自己的理解中,任何「在未来不确定的时间发生」的事情都可以理解为异步,因此各种 DOM 事件也可以用类似的方式去理解和处理。
异步是JS中的重要话题,Ajax 和 Node.JS 出现以后更是让 JS 中的异步编程提升到了一个前所未有的高度。
但是对于异步+回调①的模式,当需要对一系列异步操作进行流程控制的时候似乎必然会面临着回调嵌套。 因此怎么把异步操作「拉平」,用更好的方法去优化异步编程的体验,同时也写出更健壮的异步代码,是这两年来前端圈子里很火的话题。
我大概总结一下,对异步操作的优化,总的来说有3种流派:
- 消息驱动——代表:@朴灵 的 EventProxy
- Promise模式——代表:CommonJS Promises,jQuery,Dojo
- 二次编译——代表:@老赵 的 Jscex
这个系列将会分别介绍这三种模式,以及我本人根据自身需要对它们进行的取舍。其中 1 和 2 会是重点。
目录:
①:异步不一定非要回调,比如 jscex 就用了一种非常巧妙的二次编译方式来让代码可以「顺序编写、异步执行」,不再需要无尽的回调。
相关推荐
Javascript中异步等待的深入理解 在本文中,我们将探讨async/await对于每个Javascript开发人员来说,异步编程的首选工具。如果您不熟悉javascript,请不要担心,本文将帮助您async/await从头开始理解。 async/...
JavaScript异步编程 设计快速响应的网络应用
本文实例为大家分享了JavaScript实现异步获取表单数据的具体代码,供大家参考,具体内容如下 在上一篇文章中讲到了使用JavaScript异步提交表单中的数据,那么今天我们就讲讲利用JavaScript异步获取表单中的数据;...
《JavaScript异步编程》PDF版本下载
JavaScript异步编程g.pdf,中文版的。JavaScript异步编程g.pdf,中文版的。
Javscript高性能编程+Javascript异步编程 高清晰PDF
深入理解 JavaScript 异步
JavaScript 中的异步模式【APICloud教程】
JavaScript设计模式+JavaScript模式+JavaScript异步编程,合计三本pdf文件,5分超值哦。
javascript将异步校验表单改写为同步表单.docx
Javascript异步编程的4种方法
Ajax简介,和JavaScript的异步,Ajax中的高级响应及请求等待。
Javascript异步编程(英文版)
javascript异步编程 设计快速响应的网络应用 源码 就是那本很薄的书
JavaScript中的异步并行/串行foreach
实现javascript异步调用 API: window.asyncall(function/functionName[,args,...][,function callback]) 参数说明: function/functionName:方法或方法名称 args:目标方法参数 callback:回调函数...
基于Javascript的异步编程分析.pdf
JavaScript异步编程 JavaScript异步编程 JavaScript异步编程
同时,异步编程中的异常处理也得到了很好的支持,我们可以在async函数中使用try-catch语句来处理异常情况,增强了代码的健壮性和可维护性。 适用人群:本文适用于Web前端开发人员、JavaScript初学者以及对异步编程...
基于JavaScript的异步响应技术在WEB应用程序中的实现.pdf