
异步编程近来已经比传统的并行编程更发达,并且在JavaScript世界中,无论是在浏览器中还是在Node.js中,对异步技术的理解已成为塑造开发人员世界观的中心位置之一。 我提请您注意一个全面,最全面的课程,其中介绍了异步编程的所有广泛方法,它们之间的适配器以及辅助开口。 现在,它由23个讲座,3个报告和28个存储库组成,并在github上有许多示例代码。 仅约17小时的视频: 链接到播放列表 。
方案说明
上图显示了异步工作方式之间的联系。 彩色块表示异步编程,而b / w表示并行编程方法(信号量,互斥量,屏障等)和Petri网,它们与异步编程和参与者模型一样,是实现并行计算的不同方法(它们在图表中给出这些信息只是为了更准确地确定异步编程的位置。 actor模型与异步编程相关联,因为没有多线程的actor的实现也有权存在并用于构造异步代码。 事件的虚线和竞争性队列与回调相关联,因为这些抽象基于回调,但是从本质上形成了新的方法。
讲座主题
1.异步编程(概述)
2.计时器,超时和事件发送器
3.回调的异步编程
4.无阻塞异步迭代
5.与async.js库异步
6.促进异步
7.异步功能和错误处理
8.异步适配器:承诺,回调,异步
9.异步数据收集器
10.承诺中未处理的错误
11.异步stackrace问题
12.发电机和异步发电机
13.迭代器和异步迭代器
14.取消异步操作
15.功能的异步组成
16.轻便轻巧
17.竞争性异步队列
18.揭示构造函数模式
19.未来:无状态期货的异步
20.延迟:状态延迟的异步
21.演员模型
22.观察者模式(观察者+可观察)
23. RxJS和事件流上的异步
在每个视频下,都有指向包含了解该视频的代码示例的存储库的链接。 我试图表明,没有必要将所有事物简化为一种异步抽象。 没有通用的异步方法,每种情况下都可以选择一些方法,使您可以更自然地为该特定任务编写代码。 当然,本课程将得到补充,我请大家提出新的主题并为代码示例做贡献。 本课程的主要目的是展示如何从内部构造异步抽象,而不仅仅是教如何使用它们。 几乎所有的抽象都不是从库中获取的,而是以最简单的实现方式给出的,并且它们的工作是按步骤进行排序的。