を参照してくださいので、区別があるように思わ:あなたは/がすでに観測可能を返す作成何かを持っているときdefer
は良いですが、あなたが起こることをそのプロセスにそれをしたくありませんサブスクリプションまで。
create
は、手動で非同期処理をラップしてオブザーバブルを作成する必要がある場合に適しています。その作成はでもまで延期されています。
defer
が観測系列の繰延構成を可能に演算子である:
は、別の言い方をします。
create
は、観察可能なシーケンス(作成がサブスクリプションまで延期される)のカスタム実装です。
だから、あなたはいくつかの結果/値からObservable
を作成するためにjust
を使用する可能性がある状況を持っているか、リクエストのObservable
を返したネットワークAPI層を持っている、しかし、あなたはその要求をキックオフしたくない場合サブスクリプションまで。 defer
はこれらのシナリオに適しています。
あなたはがリクエストに対してObservable
を返しますが、これはあなたが、あなたがcreate
を使用する可能性がありますするObservable
インタフェースを必要としないことをネットワークAPI層を持っている場合。そのObservable
シーケンスはまだサブスクリプションまで作成されませんでした。サブスクリプションに関係なくそのネットワークコールを開始したい場合は、Subject
のような別のメカニズムを使用して、そのリプレイを行うことができます。