我想在RxJS 6中创建自定义Observable
Observable.create()
方法被标记为已弃用,建议改用new Observable()
。
这很好,但是指定我的Observable
类型的正确方法是什么?
myWork() {
return new Observable( sub => {
this.target.onsomething = data => {
sub.next(data);
sub.complete();
}
this.target.onerror = err => sub.error(err);
});
}
上面的代码返回一个Observable<unknown>
。我发现了2种将其转换为我想要的方法,但是它们都不干净。
选项1 在返回函数中指定类型。
myWork(): Observable<MyData> {}
选项2 指定用户
的类型return new Observable( (sub: Subscriber<MyData>) => { //...
我错过了第三个更清洁的方法吗?
答案 0 :(得分:-1)
只需使用一个主题
myWork$ = new Subject<MyData>();
,您可以在要发出它时呼叫下一个
update(data: MyData) {
this.myWork$.next(data);
}