0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

RxJS subscribeについて

Last updated at Posted at 2022-07-16

※用語の使い方多分間違えていますが、感覚として記述。

subscribe・・・処理を実行する。

Observableというものを使うと、
observerというオブジェクトが使える。
このobserverは下記3つの関数を1オブジェクト化したものと認識。

・next ・・・処理を流す
・error ・・・エラー処理を流す
・complete ・・・処理を終了させる処理を流す

下記コードに書いていますが、
observer.next(?); は、データを流す処理。

データを流すだけでは、処理実行されないので、
subscribe(意味:購買)処理を記述する。

completeは、データ(next)を流す処理を終了させたい時に記述。
このコードを実行すると →observer.complete();
observer.next(5);(下記コード参照)は実行されずに処理が終わります。

ここでメモした本題は以下

subscribeは3つの引数を設定できます。

①nextでデータが流れてきた時の実行処理方法
②エラーが発生して流れてきた時の実行処理方法
③complete(データ処理終了)が流れてきた時の実行処理方法

const Observabled = Observable.create((observer) => {
  observer.next(1);
  observer.next(2);
  observer.next(3);
  setTimeout(()=>{
    observer.next(4);
    observer.complete(); //completeは引数なし
    observer.next(5);
  },1000);
});

Observabled.subscribe(
  //xに1234のデータが流れてくる。
  (x)=> console.log(`value: ${x}`), //①nextで流れてきたデータをどう実行処理するか。
  undefined,//②エラーが発生して流れたきた場合の実行処理をどうするか
  ()=> console.log("終了");③completeが流れてきた時の実行処理をどうするか。
)

// 結果:
1
2
3
4
終了

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?