我正在尝试解决使用 Angular 6.x 和 Rxjs 6.x
开发的应用程序的用例这可能很简单,但我无法解决...。 总结一下,我有一些我在AfterViewInit周期中订阅的组件,然后每次每次调度或发出可观察对象时,我都只需要执行最后一个发出
@ViewChildren(XComponent)
xChilds: QueryList<XComponent>;
a ==> ngAfterViewInit() {
this.xChilds.changes.pipe(
................ //I SHOULD PUT SOMETHING TO GET THE LAST VALUE
).subscribe(xChilds => {
debugger;
------------------
该图将是这样
a) >--A--A--A--A|
RESULT) >-----------A|
所以我第一次使用的方法是使用 TAKE(1), FIRST()或 LAST()之类的运算符,正在工作
关键是后者在我收到更多事件时不会触发或再次触发...
图就像这样
a) >--A--A--A--A .......NOTHING HAPPENS.......... --A--A--A--A|
RESULT) >-----------A............................ ------------- NOTHING
就像运算符一样,第一个序列之后就取消订阅
我确定应该有一个运营商来实现我想要的。
a) >--A--A--A--A....NOTHING HAPPENS....--A--A--A--A|
RESULT) >-----------A.......................-----------A|
感谢您的帮助。预先谢谢!!!