[解決済み] ObservableがついにSubscribeに
2022-05-03 09:15:02
質問
によると
この記事
,
onComplete
と
onError
の関数を使用します。
subscribe
は互いに排他的である。
意味は以下のいずれかです。
onError
または
onComplete
のイベントは、私の
subscribe
.
エラーが発生しても、情報のスチームが正常に終了しても、実行される必要があるロジックブロックがあります。
のようなものがないか調べたところ
finally
pythonで
が、見つかったのは
finally
を作成し、それを私が作成したobservableに添付する必要があります。
しかし、このロジックはサブスクライブするときと、ストリームが正常またはエラーで終了した後にのみ行いたい。
何かアイデアはありますか?
解決方法は?
この演算子の現在の "pipable" バリアントは、次のように呼ばれます。
finalize()
(RxJS 6以降)。古い、そして現在では非推奨の "patch"演算子は
finally()
(RxJS 5.5まで)。
と思います。
finalize()
演算子は、実は正しいのです。と言っていますね。
そのロジックは、購読するときだけで、ストリームが終了した後に行います。
というのは問題ないと思います。あなたは、単一の
source
を使用し
finalize()
を購読する前に、必要であれば、それを使用します。こうすることで
常に
使用
finalize()
:
let source = new Observable(observer => {
observer.next(1);
observer.error('error message');
observer.next(3);
observer.complete();
}).pipe(
publish(),
);
source.pipe(
finalize(() => console.log('Finally callback')),
).subscribe(
value => console.log('#1 Next:', value),
error => console.log('#1 Error:', error),
() => console.log('#1 Complete')
);
source.subscribe(
value => console.log('#2 Next:', value),
error => console.log('#2 Error:', error),
() => console.log('#2 Complete')
);
source.connect();
コンソールに表示されます。
#1 Next: 1
#2 Next: 1
#1 Error: error message
Finally callback
#2 Error: error message
2019年1月:RxJS 6に対応した更新を行いました。
関連
-
jsを使った簡単な照明スイッチのコード
-
WeChatアプレット用ユニアプリによるグローバルシェアリング
-
vueのグローバルがscss(mixin)を導入。
-
vueにおけるfilterの適用シーンについて解説します。
-
[解決済み】gulp anythingを実行するたびに、アサーションエラーが発生します。- タスク関数を指定する必要があります
-
[解決済み] BehaviorSubjectとObservableの違い?
-
[解決済み】PromiseをObservableに変換する。
-
[解決済み】空のObservableを返す
-
[解決済み】RxJSのSubjectやObservableの現在値を取得する方法は?
-
[解決済み] Angular2 http.get()、map()、subscribe()とobservableパターン - 基本的な理解
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vueの補間表現とv-textディレクティブの違いについて
-
vueにおけるfilterの適用シーンについて解説します。
-
Vueのフォームイベントのデータバインディングの説明
-
Vueの一般的な組み込みディレクティブの説明
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み】"フォームが接続されていないため、フォームの送信がキャンセルされました "というエラーの取得について
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
[解決済み】 `string.split is not a function` というエラーの原因は何ですか?
-
nodejs unhandledPromiseRejectionWarning メッセージ