私は角2とRxJS違いは
これら二つの間のいずれかの違いがある5を使用していますか?おかげ
isOpen$ = new BehaviorSubject<boolean>(true);
と
isOpen$ = BehaviorSubject.create(true);
私は角2とRxJS違いは
これら二つの間のいずれかの違いがある5を使用していますか?おかげ
isOpen$ = new BehaviorSubject<boolean>(true);
と
isOpen$ = BehaviorSubject.create(true);
BehaviorSubject
はcreate
メソッドを持っていないので、私はそれがSubject
基底クラスによって公開されている推測しています。
コンストラクタを使用してください。 この場合、BehaviorSubject
のコンストラクタを使用する必要があります。 create
メソッドは、Observer
とObservable
を組み合わせるために使用されます。
たとえば、あなたが実行してSubject
にWebSocket
を変換することができます:彼らは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);
ありがとうございます! –
。ただし、BehaviorSubject
にはcreate
メソッドがありません。ここでBehaviorSubject
でSubject
static create: Function = <T>(destination: Observer<T>, source: Observable<T>): Subject<T> => {
return new Subject<T>(destination, source);
};
constructor(protected destination?: Observer<T>, protected source?: Observable<T>) {
super();
this.source = source;
}
からコードがあるSubject
から継承されています、それはおそらくまだ実装されていないのです。将来は実現されるかもしれない。
したがって、BehaviorSubject
では、create
の動作はコンストラクタとはまったく異なります。
ありがとう! –
Javaが、同じ原則が適用される可能性があります。http://stackoverflow.com/questions/13046877/consider-providing-static-factory-methods-insteads-of-constructors –
@KevinKrumwiedeが助けてくれてありがとう! –