Angular Observable chaining:如何明确取消订阅

问题描述 投票:0回答:1

我有一连串的Observables:

for ( i=0;i<10;i++)
{
observableA$[i] = /*...*/;
observableB$[i] = observableA$[i].pipe(
  // ...
);
observableC$[i] = observableB$[i].pipe(
  // ...
);
observableD$[i] = observableB$[i].pipe(
  // ...
);
observableE$[i] = /*...*/;
observableF$[i] = combineLatest([observableD$[i], observableE$[i]]).pipe(
  // ...
); 

我不想在某些情况下在索引i = 2,3处显示行,所以现在如果我这样做:

<ng-container *ngFor="let er of observableA$; let i=index">             
                       <td>
                           {{ observableA$[i] | async }} 
                       </td>

        <ng-container> 

因此,在某些情况下,第2行和第3行现在不可见。

注意:我不想隐藏和取消隐藏该行,即显示:none并阻止将该行保持在Async Observable中。

如何从Async Observable中删除该行并重新附加Observable?

我正在这样做,这样我的进一步可观测值,即>]

  • ObservableFilterA(取决于observableA)
  • ObservableFilterB(取决于observableB)
  • ObservableFilterC(取决于observableC)
  • ObservableFilterD(取决于observableD)
  • [[这是每列上下拉列表的过滤器]

取决于这些Observables值,在处理时不应考虑这些值

例如ObservableFilterA:

this.ObservableFilterA$ = observableA$.pipe(    
     map((res:number[]) => {
       const data = res.filter(function(item, pos){
         return res.indexOf(item)== pos; 
       });

       return data;
     })
); 

现在ObservableFilterA $ Observable不应考虑observableA $,这些值不需要进一步处理

希望您没有问题,对不起,如果我还不清楚,请允许我进一步解释

我有一个可观察数组的链:对于(i = 0; i <10; i ++){ob​​servableA $ [i] = /*...*/; observableB $ [i] = observableA $ [i] .pipe(// ...); observableC $ [i] = observableB $ [i] .pipe(// ...); ...

angular asynchronous angular2-observables unsubscribe
1个回答
0
投票

我不确定我是否正确理解了您的问题。让我知道,如果没有,怎么办?

© www.soinside.com 2019 - 2024. All rights reserved.