【问题标题】:How can i rewrite the following code with switchmap如何使用 switchmap 重写以下代码
【发布时间】:2019-09-03 10:22:01
【问题描述】:

您好,我有一个使用 rxjs 库的小代码 sn-p,如下所示。它工作正常。但是我想使用 switchmap 重新编写它。我尝试了所有选项,但出现错误。想知道是否有人可以帮助我。

this.campaignControl.valueChanges.subscribe(
(value) => {
    this.flightsService.getUnpaginatedFlightsWithinRange(
          {
                 campaignId : value,
                 jobStatuses: this.flightStatusIds,
                 rangeStartDate: 
                 (this.rangeControl.value[0]).toISOString(),
                 rangeEndDate: (this.rangeControl.value[1]).toISOString()
          }
).subscribe(
      (flightsUnpaginated) => {
             this.flights = flightsUnpaginated;
            }
         );
   }
);

谢谢你

【问题讨论】:

  • 请发布您尝试过的内容,发布您遇到的准确和完整的错误,并正确缩进您的代码,以便我们(和您)可以阅读它
  • 我改变了缩进..

标签: rxjs rxjs-pipeable-operators


【解决方案1】:

我相信您正在寻找这样的东西:

this.campaignControl.valueChanges.pipe(
  switchMap(value => this.flightsService.getUnpaginatedFlightsWithinRange({
    campaignId : value,
    jobStatuses: this.flightStatusIds,
    rangeStartDate: (this.rangeControl.value[0]).toISOString(),
    rangeEndDate: (this.rangeControl.value[1]).toISOString()
  }),
  tap(flightsUnpaginated => this.flights = flightsUnpaginated)
).subscribe();

【讨论】:

  • 非常感谢。我也在尝试同样的事情,但是却遇到了错误。辉煌
猜你喜欢
  • 2015-08-05
  • 1970-01-01
  • 1970-01-01
  • 2014-12-23
  • 1970-01-01
  • 2018-03-07
  • 2020-07-27
  • 2021-01-26
  • 2013-09-25
相关资源
最近更新 更多