几个月前读完了Rx.js的源码(v6)版本,领悟到了Stream模式的实现原理,并将其思想广泛应用在业务代码中。这个过程让我深刻的见识到Stream模式的好处,业务逻辑由此在代码层面更加清晰。接下来的文章中我会讲述Rx.js的核心实现原理,希望大家也可以因此而获益。由于2个原因:1.源码是用ts编写,不熟悉ts的同学可能会不习惯;2.源码不好大段拎出分析。所以我会将其核心实现用js的代码精简后表述出来。OK,开始吧。
首先,在Observable类中,有2个至关重要的函数pipe和left,首先来看看他们的实现: