2
2

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 5 years have passed since last update.

Forkjoinについて -mergeとconcatを比較して-

Last updated at Posted at 2018-12-12

前提として

ReactiveExtensionについて学ぶ必要があります。詳しくはこちらをご覧ください。

https://qiita.com/ryuseikurata/private/0970763ecd8fa7d75f15
https://qiita.com/ryuseikurata/private/d48945ed98a53d9e284c
https://qiita.com/ryuseikurata/private/6db14969b628e0de1d0c
https://qiita.com/ryuseikurata/private/fa5227a1203af86a19ab
https://qiita.com/ryuseikurata/private/45faa9cd8f50a390b10c

emitとは

observableによって届けられたあとの受け取ったメッセージの処理の総称。

  • next ・・・ Observableがメッセージを生成するたびにobservableによって呼び出される
  • error ・・・ エラーが起きた時に呼び出される
  • complete ・・・ 完了した時に呼び出される

Forkjoin

  • observableが終了した時、引数のobservableからemitされたそれぞれを配列にしてemitする。
//引数はobservableとなる。
const numberOne = of(1)

const array = numberOne.pipe(
          forkjoin(
                of(2),
                of(3)
               )
           );      
        
array.subscribe(val => console.log(val))
[1,2,3]

merge

  • 引数のobservableを一つのobservableにまとめる。
//observableを作る
const numberOne = of(1)
//number observableにof(2)とof(3)というobservableをmergeさせる
const array = number.pipe(
                  merge( 
                   of(2), 
                   of(3)
                  )
                );

array.subscribe(val => console.log(val));
1
2
3

concat

  • 複数のobservableを順にemitしていく。(一つのobservableにするわけではない

//observableを作る
const numberOne = of(1)
// of(1), of(2), of(3)の順にemitされる
const array = number.pipe(
                 concat( 
                     of(2), 
                     of(3)
                  )
                 );
array.subscribe(val => console.log(val));
1
2
3
2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?