RxJS 5share()
演算子の動作を理解しようとしています。RxJS演算子がRx.Observable.ajaxと一緒に動作していることを理解しています
チュートリアルとドキュメントによれば、share()
は、寒い観察可能なものを熱いものに変えます。
私は実際にそれを見ようとしています。ここで私が試したものです。その後、
const search$ = Rx.Observable.ajax('https://www.googleapis.com/books/v1/volumes?q=javascript').share();
そして、私はそれをサブスクライブは初めて:
search$.subscribe(console.log);
私はネットワーク要求が発行されるのdevのツールから参照してください。
Request URL:https://www.googleapis.com/books/v1/volumes?q=javascript
その後、同じサブスクリプションを再実行すると、
search$.subscribe(console.log);
別のネットワーク要求もに発行されています。
誰かがshare()
オペレーターがこの動作を表示している理由を説明できますか? 1つのネットワーク要求が発行されることを期待していました...
P.S.xxx.share();
の代わりにxxx.publishLast().refCount();
を使用してジョブを実行しますが、私の主な関心事は上記の文脈でshare()
の動作を理解することです。
ありがとうolsn。これにより、提示された動作がより明確になります。私が持っているもう1つの質問は、 'publishLast()。refCount()'であり、http要求をキャッシュするためには、暗に完了していないストリームが良い習慣とみなされていますか? – balteo
はい、ありがとうございます - しかし、ここでrxjs-doc-sectionへの追加リンクを使って答えを更新しました。 – olsn
この忌々しい返信とリンクに感謝します! – balteo