本文收集了一些在学习 RxJS 过程中发现的容易忽略或比较容易弄错的概念,并尝试对其进行解释。
本文涉及的代码均在 RxJS v6 版本,其他版本区别不大,基本概念是相同的。
EMPTY 不是空转
EMPTY
是一个内置的 Observable,很多人看到其名字认为它什么也不做,但对于 Observable 来说一定是处在下面“状态”之一的:
- 正常推送数据
- 出现错误
- 完成
而 EMPTY
就是直接到达完成状态的 Observable:
import {
EMPTY } from "rxjs";
EMPTY.subscribe({
next() {
console.log("no data will arrived");
},
complete() {
console.log("complete");
},
}