我如何从另一个观察者那里获得价值?
How can I get a value from an observer inside another?
如何使这一行 return 成为订阅中的一个值?它是 returning 一个 observable:
let test = undefined;
of(test, this.myService.whatever(var1, var2))
.pipe(
first(n=>!!n)
).subscribe(result=>console.log(result)); // returns Observable, should return value.
myservice.whatever return 是一个可观察对象。我想让它在管道内解析。像这样:
let test = undefined;
of(test, this.myService.whatever(var1, var2))
.pipe(
first(n=>!!n),
getValueFromObserver() // if it's an observer get the value
).subscribe(result=>console.log(result));
这可能吗?
我想做的是在观察者的序列内部检查局部变量是否有值,如果没有,则从后端获取值。我想这样做是因为真正的代码要复杂得多,而且这个可观察的结果将与其他观察者 forkJoined。
尚未完全测试,但理论上,您可以检查instanceof
let test = undefined;
of(test, this.myService.whatever(var1, var2))
.pipe(
first(n => !!n),
switchMap(value => value instanceof Observable ? value : of(value))
).subscribe(result => console.log(result));
如何使这一行 return 成为订阅中的一个值?它是 returning 一个 observable:
let test = undefined;
of(test, this.myService.whatever(var1, var2))
.pipe(
first(n=>!!n)
).subscribe(result=>console.log(result)); // returns Observable, should return value.
myservice.whatever return 是一个可观察对象。我想让它在管道内解析。像这样:
let test = undefined;
of(test, this.myService.whatever(var1, var2))
.pipe(
first(n=>!!n),
getValueFromObserver() // if it's an observer get the value
).subscribe(result=>console.log(result));
这可能吗? 我想做的是在观察者的序列内部检查局部变量是否有值,如果没有,则从后端获取值。我想这样做是因为真正的代码要复杂得多,而且这个可观察的结果将与其他观察者 forkJoined。
尚未完全测试,但理论上,您可以检查instanceof
let test = undefined;
of(test, this.myService.whatever(var1, var2))
.pipe(
first(n => !!n),
switchMap(value => value instanceof Observable ? value : of(value))
).subscribe(result => console.log(result));