'new BehaviorSubject'和'BehaviorSubject.create'之间的区别

Hon*_*iao 5 rxjs5 angular

我正在使用Angular 2和RxJS 5.

这两者之间有什么区别:

哪个应该先使用?谢谢

isOpen$ = new BehaviorSubject<boolean>(true);
Run Code Online (Sandbox Code Playgroud)

isOpen$ = BehaviorSubject.create(true);
Run Code Online (Sandbox Code Playgroud)

pau*_*els 10

BehaviorSubject没有create方法,所以我猜这是由Subject基类暴露的.

使用构造函数.您应该使用BehaviorSubject本例中的构造函数.该create方法用于组合ObserverObservable.

例如,您可以通过执行以下操作将a转换WebSocket为a Subject:

var webSocket = new WebSocket(url);

var observer = Observer.create(next => webSocket.send(JSON.stringify(next)));
var observable = Observable.fromEvent(webSocket, 'message', m => JSON.parse(m.data));

var subject = Subject.create(observer, observable);
Run Code Online (Sandbox Code Playgroud)