RxJS - scanオペレータとreduceオペレータ

scanオペレータが気になって試しました。scanオペレータはreduceオペレータと似ています。比較しながら確認したコードを残しておきます。

違いその1

  • scanは都度nextコールバックが呼ばれる
  • reduceは(completeする前に)1回だけnextコールバックが呼ばれる

違いその2

  • scanはcompleteしなくてもnextコールバックが呼ばれる
  • reduceはcompleteしない限りnextコールバックが呼ばれない