繁体   English   中英

如何从Observables值构造数据,并返回一个Observable <Response> 在HTTP呼叫之后?

[英]How to construct data, from Observables value, and return a Observable<Response> after the HTTP call?

构造包含从Observable解析的值的数据对象时,我无法确定如何返回Observable<Response>

我已经尝试使用forkJoin() ,首先解析值,然后subscribe它,并返回this.http.post()...调用。 但是,这使得无法订阅函数本身fetchData().subscribe( ... ) 我显然遗漏了一些东西。

那么,我如何构造一个包含已解析的Observable值的数据对象,然后返回Observable<Response>对象?

// Simplified example 

fetchData() { 

  // Construct the data
  var data = {
      v1 : this.getValueFromObservable1(),
      v2 : this.getValueFromObservable2()
  };

  // Make the call, return the Observable<Response> object
  return this.http
      .post( 'api/authorization', JSON.stringify(data) );
}

这应该做你想要的:

fetchData() {
    return this.getValueFromObservable1()
    .mergeMap(v1 => 
          this.getValueFromObservable2()
          .map(v2 => { v1: v1, v2: v2})
    );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM