ホームページ > 記事 > ウェブフロントエンド > AngularのObservable(観察可能なオブジェクト)の詳細説明
この記事では、Angular 監視可能なオブジェクト (Observable) について説明します。一定の参考値があるので、困っている友達が参考になれば幸いです。
関連チュートリアルの推奨事項: "angular チュートリアル "
Observable オブジェクトは、アプリケーションのパブリッシャーとサブスクライバー間のメッセージの配信をサポートします。
Observable オブジェクトは宣言的です。つまり、値を公開するために定義された関数です。この関数は、コンシューマーがサブスクライブするまで実際には実行されません。
監視可能なオブジェクトが発行する可能性のある 3 種類の通知:
通知タイプ | 説明 |
---|---|
次 | 必要です。各配信値を処理するために使用されます。実行開始後に 0 回以上実行される可能性があります。 |
オプション。エラー通知を処理するために使用されます。エラーが発生すると、この監視可能なオブジェクト インスタンスの実行が中断されます。 | |
オプション。実行完了(完了)通知を処理するために使用されます。実行が完了すると、これらの値は引き続き次のプロセッサに渡されます。 |
オブザーバー:
プロセッサーは、監視可能なオブジェクトから通知を受け取るには、Observer インターフェイスを実装する必要があります。このオブジェクトは、監視可能なオブジェクトによって送信される 3 種類の通知を処理するいくつかのコールバック関数を定義します。 Observer オブジェクトは、これら 3 つのプロセッサの任意の組み合わせを定義できます。特定の通知タイプのハンドラーを提供しない場合、オブザーバーはそのタイプの通知を無視します。 // Create observer object
const myObserver = {
next: (_data) => {
// next通知类型处理器
},
error: err => {
// error通知类型处理器
},
complete: () => console.log('Observer got a complete notification'),
};
Observable インスタンスは、Observable インスタンスがサブスクライブされている場合にのみ値を公開します。サブスクライブするときは、まずインスタンスの subscribe()
メソッドを呼び出し、それにオブザーバー オブジェクトを渡して通知を受信する必要があります。構文:
Observable.subscribe(ObserverObject)、Observable は監視可能なオブジェクトのインスタンス、ObserverObject はオブザーバー オブジェクトです。
// 官网示例 // Create simple observable that emits three values const myObservable = of(1, 2, 3); // Create observer object const myObserver = { next: x => console.log('Observer got a next value: ' + x), error: err => console.error('Observer got an error: ' + err), complete: () => console.log('Observer got a complete notification'), }; // Execute with the observer object myObservable.subscribe(myObserver); // Logs: // Observer got a next value: 1 // Observer got a next value: 2 // Observer got a next value: 3 // Observer got a complete notification
さらに、subscribe() メソッドは、次のハンドラー、エラー ハンドラー、または完全なハンドラーのいずれであっても、同じ行で定義されたコールバック関数を受け取ることもできます。たとえば、次の subscribe() 呼び出しは、事前定義されたオブザーバーを指定する前述の例と同等です。
myObservable.subscribe( x => console.log('Observer got a next value: ' + x), err => console.error('Observer got an error: ' + err), () => console.log('Observer got a complete notification') );注:
いずれの場合も、次の通知タイプのハンドラーが必要ですが、エラー ハンドラーと完了ハンドラーはオプションです。メソッドを持つsubscribe() 呼び出しは、
unsubscribe()
Subscription オブジェクト を返します。このメソッドが呼び出されると、通知の受信が停止されます。 プログラミング関連の知識について詳しくは、
プログラミング ビデオ
以上がAngularのObservable(観察可能なオブジェクト)の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。