Rxjs, combineAll()

Помогите разобраться, пожалуйста, как работает следующий код:

of("a", "b", "c")
  .pipe(
    map(x => interval(2000).pipe(take(2))),
    combineAll()
  )
  .subscribe(vl => console.log(vl));

// Result:
//[0, 0, 0]
//[1, 0, 0]
//[1, 1, 0]
//[1, 1, 1]

Как я понимаю - на первом этапе для каждого эмита ("a", "b", "c") с интервалом в 2 сек выбирается 2 первых значения (0,1).

Что происходит дальше, как вообще формируется массив?

След. этап - combineAll берет последние значения обзервеблов и эмитит в сабскрайб массив этих последних значений.

Запуталась вкрай, помогите.


Ответы (0 шт):