2017-09-15 2 views
1

大きなステートツリーでガベージコレクションを管理する方法としてRxjsを使用しようとしています。Rxjs Subjectがサブスクリプション/サブスクリプションからサブスクリプションされたときに通知を受け取る方法

observableのサブスクライバの数が変わるたびにトリガされるコールバック関数を使用する演算子を作成するにはどうすればよいですか?

答えて

1

複数の方法、すべてのあなたの主題を隠し、消費者に包まれ、観察を与える伴う:

は何かがあなたの対象に加入したときに知りたいですか?

const subject = new Subject(); 
const observable = Observable.defer(() => { 
    someoneJustSubscribed(); 
    return subject; 
}); 
return observable; 

誰かが拒否したことを知りたいですか?

const subject = new Subject(); 
const observable = subject.finally(() => someoneJustUnsubscribed()); 
return observable; 

両方を知りたいですか?

const subject = new Subject(); 
const observable = Observable.create(observer => { 
    someoneJustSubscribed(); 
    const sub = subject.subscribe(observer); 
    return() => { 
     someoneJustUnsubscribed(); 
     sub.unsubscribe(); 
    } 
}); 
return observable; 
関連する問題