Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度9-不再支持resultSelector_Angular_Rxjs_Ngrx - Fatal编程技术网

Angular 角度9-不再支持resultSelector

Angular 角度9-不再支持resultSelector,angular,rxjs,ngrx,Angular,Rxjs,Ngrx,使用zip时,resultSelector不再受支持,但我不确定如何根据ngrx 7重构它 this.update.pipe(debounceTime(600), distinctUntilChanged(), switchMap(data => { const { gri, index } = data; const reqGri = Object.assign({}, gri); delete reqGri.id; return zip(

使用zip时,
resultSelector不再受支持,但我不确定如何根据ngrx 7重构它

 this.update.pipe(debounceTime(600),
  distinctUntilChanged(),
  switchMap(data => {
    const { gri, index } = data;
    const reqGri = Object.assign({}, gri);
    delete reqGri.id;
    return zip(
      this.dataManager.putGris(gri.id, reqGri),
      of(index), resGri => {
        return { resGri: resGri[0], index: resGri[1] };
      });
  })).subscribe((data) => {
    this.data[data.index] = data.resGri;
    this.dataChange.next([...this.data]);
  });

这种重构应该是相同的,但是现在您使用的是没有
resultSelector的zip。您所要做的就是通过
地图格式化
zip
的结果

this.update.pipe(debounceTime(600),
  distinctUntilChanged(),
  switchMap(data => {
    const { gri, index } = data;
    const reqGri = Object.assign({}, gri);
    delete reqGri.id;
    return zip(
      this.dataManager.putGris(gri.id, reqGri),
      of(index)
    ).pipe(
      map(resGri => ({ resGri: resGri[0], index: resGri[1]}))
    );
  })
).subscribe(data => {
  this.data[data.index] = data.resGri;
  this.dataChange.next([...this.data]);
});
或者通过分解使其更干净

map(resGri => ({ resGri: resGri[0], index: resGri[1]}))
// can be changed to
map(([resGri, index]) => ({ resGri, index}))