Javascript 观察者模式在JS中有用吗?

Javascript 观察者模式在JS中有用吗?,javascript,observer-pattern,Javascript,Observer Pattern,我读过一些关于JavaScript中的观察者设计模式的文章,但我不明白:在我看来,它很无用,因为JS有事件。我遗漏了什么吗?对单击、调整大小等事件做出反应是一回事,但仅限于DOM事件。但是,不必在此详述,如果您查看一个库(使用观察者模式),您将能够构建功能强大的反应式系统,其中基本上任何东西都可以被视为事件,除了标准事件系统之外,它们还可以被合成、映射,etc观测者模式是一种事件系统之上的模式。它允许更容易地构造复杂代码。浏览器的DOM Api或其他库/Api提供事件,但JavaScript规范

我读过一些关于JavaScript中的观察者设计模式的文章,但我不明白:在我看来,它很无用,因为JS有事件。我遗漏了什么吗?

对单击、调整大小等事件做出反应是一回事,但仅限于DOM事件。但是,不必在此详述,如果您查看一个库(使用观察者模式),您将能够构建功能强大的反应式系统,其中基本上任何东西都可以被视为事件,除了标准事件系统之外,它们还可以被合成、映射,etc

观测者模式是一种事件系统之上的模式。它允许更容易地构造复杂代码。浏览器的DOM Api或其他库/Api提供事件,但JavaScript规范中没有事件。这些库自己实现一个事件系统,或者使用环境提供的事件系统。DOM api实际上不是一种观察者模式吗
Somel.addEventListener(“单击”,处理程序)
?从技术上讲,事件是观察者模式的可能实现之一。其他实现也是可能的(以RxJS或节点的EventEmitter为例)。通过代理的观察器不是事件,代码保持阻塞状态,当前执行停止,直到陷阱执行完毕,然后继续执行。执行上下文保留在调用堆栈上。RxJS使用可观察对象,而不是“观察者模式”。