在本文中,merge
运算符用于订阅排序和分页事件。函数看起来是这样的:
merge(this.sort.sortChange, this.paginator.page)
.pipe(
tap(() => this.loadLessonsPage())
)
.subscribe();
我们是否需要保留订阅并在组件被销毁时调用unsubscribe?
简短回答:是的!
更扩展答案:不用手动!
您可以使用大量的运算符
来帮助管理订阅。完全不管理订阅的一个更好的方法是让HTML使用asyncpipe
来完成。
component
this.sortAndPaging = merge(this.sort.sortChange, this.paginator.page)
.pipe(
tap(() => this.loadLessonsPage())
)
html
<div *ngIf="sortAndPaging | async as sortAndPaginaData">
{{ sortAndPagingData | json }}
</div>
例如,take(10)
将在通过10个值后完成并取消订阅。
针对你的情况更具体的提示需要一个更广泛的问题和一些你尝试过的例子。
角度5 我遇到的问题是,当我离开一个组件时,该组件仍在监听服务订阅更新并对其采取行动。
问题内容: Java中的InputStreams和OutputStreams是否在销毁时关闭()?我完全理解这可能是错误的形式(尤其是在C和C ++世界中),但是我很好奇。 另外,假设我有以下代码: 无名的FileInputStream是否在p.load()之后超出范围,并因此被破坏,就像C ++范围规则一样?我尝试在Google上搜索Java的匿名变量范围,但这并没有达到我的预期。 谢谢。 问题
STOMP规范规定订阅必须有id头。 https://stomp.github.io/stomp-specification-1.2.html#SUBSCRIBE_id_Header 订阅id标头 由于单个连接可以与服务器有多个打开的订阅,因此必须在框架中包含id标头以唯一标识订阅。id标头允许客户端和服务器将后续消息或取消订阅帧与原始订阅关联。在同一连接中,不同的订阅必须使用不同的订阅标识符。
问题内容: 自从我使用Java以来已经有5年了,那时,每当您想分配需要清理的对象(例如套接字,DB句柄)时,都必须记住添加一个块并在其中调用cleanup方法。那里。 相比之下,在C++(或确定对象生存期的其他语言,例如Perl)中,类实现程序将定义一个析构函数,该函数在该类的对象超出范围时执行清除。这种方法的优点是对象的用户不会忘记清理它- 即使抛出异常,析构函数也会被自动调用。这种方法用R
销毁 Destroy 在不需要使用iScoll的时候调用iScroll实例的公共方法destroy()可以释放一些内存。 myScroll.destroy(); myScroll = null;
我是Android开发新手,有一些关于生命周期活动的东西我不理解,特别是关于我正在研究的以下应用程序示例。 在我的应用程序中,我有一个登录活动和主活动。 > < li> 在我的登录活动中,如果尝试成功,将启动主活动,并完成()登录活动。< br>== 在我的主要活动中,我有一个断开连接按钮,该按钮创建了一个启动(新?)登录活动的 Intent。 == start activity(loginAct