首页 > 解决方案 > 使用管道和地图获取可观察的结果

问题描述

我正在尝试在按钮上设置一个可观察对象并将其链接到返回可观察对象的服务。

sydneyHttp$ = new Observable<string>();

this.sydneyHttp$ = fromEvent(this.sydneyServerButton, 'click')
      .pipe(
        map(() => this.streamService.getStream(1) )
      );

我收到此错误,可观察对象包含在可观察对象中:

Type 'Observable<Observable<string>>' is not assignable to type 'Observable<string>'.

我想在一个flatMapforkMap另一个点击请求中使用它。

标签: rxjs

解决方案


更改为mergeMap将解决问题

sydneyHttp$ = new Observable<string>();

this.sydneyHttp$ = fromEvent(this.sydneyServerButton, 'click')
      .pipe(
        mergeMap(() => this.streamService.getStream(1) )
      );

推荐阅读