[英]how to return value from observable http request and store it in local variable?
[英]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.