我在我的Angular应用程序的服务中有这段代码:
const subby = Subject.create(observer, observable)
但是我的IDE正确标记Subject.create
为弃用。请问我应该使用什么替代方案?我已经尝试了new Subject(observer, observable)
,但没有成功。谢谢。
RxJS版本:6.4.0
Angular版本:7.2
看源代码,静态函数Subject.create(destination, source)
只是一个new AnonymousSubject<T>(destination, source)
的包装器。
如果你只是想处理警告,可以将你的代码更改为
import { AnonymousSubject } from 'rxjs/internal/Subject';
const subby = new AnonymousSubject<T>(observer, observable);
// This code...
const subby = Subject.create(observer, observable);
subby.subscribe((value: value) => console.log(value));
subby.next("Test");
// Should be replace by this code
// Nothing
observable.subscribe((value: value) => console.log(value));
observer.next("Test");
Subject.create
有关,可能会对未来的读者有所帮助:
创建主题时不接受任何参数。因此,您需要像这样初始化它(new Subject()
)。然后,您可以在其上使用next方法来发出值。