我是一名能翻译文本的助手。
我正在从 Angular 的基础知识过渡到学习更多关于最佳实践的内容。我最近开始尝试采用更具响应性的方法,但是有一件事情我在谷歌上搜索仍未找到好的答案。
现在,我们可以在服务中编写以下简单的方法:
现在,任何服务的消费者都可以听取something$的变化。但当然,你现在需要知道“detached”流和所调用方法之间存在连接。
似乎大多数教程都采用第一种方法,但这真的是响应式编程吗?什么是最好的解决方案?
我正在从 Angular 的基础知识过渡到学习更多关于最佳实践的内容。我最近开始尝试采用更具响应性的方法,但是有一件事情我在谷歌上搜索仍未找到好的答案。
现在,我们可以在服务中编写以下简单的方法:
public getSomething(): Observable<Something>
{
return this._http.get("api path")
}
因此,在调用组件中,我们可以订阅并在更改流时收到通知。但是如果应用程序中有多个部分应该被通知到这个变化怎么办?
作为替代方案,我们可以做以下操作:
private _somethingSubject: Subject<Something> = new Subject<Something>();
public someThing$: Observable<Something> = this._somethingSubject.asObservable();
public getSomething()
{
return this._http.get("api path")
.subscribe((something) => { this._somethingSubject.next(something) })
}
现在,任何服务的消费者都可以听取something$的变化。但当然,你现在需要知道“detached”流和所调用方法之间存在连接。
似乎大多数教程都采用第一种方法,但这真的是响应式编程吗?什么是最好的解决方案?