JS实际上是单线程的,其异步无非是通过CPU信号间隔间切换任务实现的。
如今在JS中做异步开发已经是习以为常的事了,在ES6标准确立之前,就已经有国内外众多JS异步框架,当然基本上都是基于 Promise A
规范开发的。
在网上JS异步相关的文章太多了,我就不在这里讲述了,此文就当作本人在使用JS异步开发过程中的记录。
JS异步的几种方式
这里只做总结列举,具体请移步Javascript异步编程的4种方法
- 回调函数
- 事件监听
- 发布/订阅
- Promises对象
- Generator(*)/next/yield(ES6 语法)
- Async/await(ES7 语法)
参考
- JavaScript 异步进化史
- Javascript异步编程的4种方法
- JavaScript:彻底理解同步、异步和事件循环(Event Loop)
- JavaScript 异步编程学习笔记
- 探索Javascript异步编程
- Promise 语法
- JavaScript Promise启示录
- https://promisesaplus.com/
- Promises/A+规范