订阅在服务调用中的重要性:Angular 2/4
significance of subscription in service call : Angular 2/4
我是 angular4 的初学者,正在尝试理解 observable 和 subscription 的概念。
export class MyComponent implements OnInit {
private subscription: Subscription
ngOnInit() {
// case -1 -> service call 1 with subscription
this.subscription = this.service1.method1().subscribe(() => {});
// case-2 -> service call 2 without subscription
this.service1.method2().subscribe(() => {});
}
现在很多时候我们不需要用到this.subscription(case-2),直接订阅服务就可以调用了
我的问题是我们什么时候应该使用(在什么情况下)像
这样的变量
private subscription: Subscription;
最佳做法是什么?
任何 help/blog/article 都将是可观的。
谢谢
Subscription
类型有一个名为 unsubscribe
的函数。您需要使用 unsubscribe
手动完成可观察对象( 在大多数情况下是无限流 )。如果 observable 没有完成,observable 的流不会被关闭,就会发生内存泄漏。您可以在 ngOnDestroy
生命周期事件中编写取消订阅,并在组件销毁时取消订阅所有可观察对象。
HTTP请求呢,返回response后自动完成,所以HTTP请求不需要使用unsubscribe
RxJs 库基于 Observable pattern - 在这种模式下,您会一直关注源,例如更改或生成新值。股票价值不断变化或不断发送新价值的股票指数。
所以根据 Observable 模式
Observable - 是不断向您的程序发送值的来源,您的程序将监听并处理它。
订阅 - 订阅你的可观察值,它会向你发送价值,通过订阅你表明你的程序列出了来自源的价值,在这种情况下你也正在处理的价值。
如果你理解了Observable pattern
,你会更清楚地理解事情。
回答你的问题Subscription
当你想自己管理你的下标时,你需要这个,即在你的代码中。
在订阅令牌的帮助下,您可以将您的代码与 observable 分离,即如果您不想从 observable 获得更多价值,即您应该通过调用 unsubscribe 方法停止使用订阅。
文章:Angular: Don't forget to unsubscribe()帮助您理解token。
不要取消订阅源以避免内存泄漏。
我是 angular4 的初学者,正在尝试理解 observable 和 subscription 的概念。
export class MyComponent implements OnInit {
private subscription: Subscription
ngOnInit() {
// case -1 -> service call 1 with subscription
this.subscription = this.service1.method1().subscribe(() => {});
// case-2 -> service call 2 without subscription
this.service1.method2().subscribe(() => {});
}
现在很多时候我们不需要用到this.subscription(case-2),直接订阅服务就可以调用了
我的问题是我们什么时候应该使用(在什么情况下)像
这样的变量private subscription: Subscription;
最佳做法是什么?
任何 help/blog/article 都将是可观的。
谢谢
Subscription
类型有一个名为 unsubscribe
的函数。您需要使用 unsubscribe
手动完成可观察对象( 在大多数情况下是无限流 )。如果 observable 没有完成,observable 的流不会被关闭,就会发生内存泄漏。您可以在 ngOnDestroy
生命周期事件中编写取消订阅,并在组件销毁时取消订阅所有可观察对象。
HTTP请求呢,返回response后自动完成,所以HTTP请求不需要使用unsubscribe
RxJs 库基于 Observable pattern - 在这种模式下,您会一直关注源,例如更改或生成新值。股票价值不断变化或不断发送新价值的股票指数。
所以根据 Observable 模式
Observable - 是不断向您的程序发送值的来源,您的程序将监听并处理它。
订阅 - 订阅你的可观察值,它会向你发送价值,通过订阅你表明你的程序列出了来自源的价值,在这种情况下你也正在处理的价值。
如果你理解了Observable pattern
,你会更清楚地理解事情。
回答你的问题Subscription
当你想自己管理你的下标时,你需要这个,即在你的代码中。
在订阅令牌的帮助下,您可以将您的代码与 observable 分离,即如果您不想从 observable 获得更多价值,即您应该通过调用 unsubscribe 方法停止使用订阅。
文章:Angular: Don't forget to unsubscribe()帮助您理解token。
不要取消订阅源以避免内存泄漏。