[英]RxJs use a subject to trigger a result in the current observable
在下面的代码中,我必须使用 setTimeout 从 this.parts$(def) 中获取一个值,因为它链接到一个监听动作事件的可观察对象。 我怎样才能解决这个问题,所以我不需要使用超时来触发 this.parts$(def) 的结果?
getParts$ = (def: Def) => {
setTimeout(() => this.action.next('test'), 1);
return this.parts$(def);
};
编辑:动作定义为:
private action = new Subject<string>();
我猜你要做的是在动作触发之前订阅parts$。 您可以尝试以下模式
getParts$ = (def: Def) => {
return new Observable(obs=>{
const sub=this.parts$(def).subscribe(obs);
this.action.next('test'), 1);
return ()=>sub.unsubscribe()
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.