@zlodiak

Как объяснить сложение двух асинхронных потоков?

Можно ли как-нибудь логически объяснить что происходит в таком коде:
var b = Rx.Observable.interval(1000);
var a = Rx.Observable.interval(3000);
b.concat(a).subscribe((val) => console.log(val));


Непонятно почему консоль выводит последовательно числа от нуля и до бесконечности. Хотя на самом деле здесь мы имеем дело с двумя независмыми потоками, излучающими асинхронно через разные промежутки времени.

То есть картина в консоли должны быть приблизительно такая:
0
1
2
<b>1</b>
3
4
5
<b>2</b>
6
7
8
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
0xD34F
@0xD34F
Я так понимаю, опять фантазируете вместо того, чтобы загуглить документацию. Чёрным по белому сказано же:
next transaction (subscription) cannot start until the previous completes

Хотите, чтобы было "независимо" - используйте merge вместо concat.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
от 2 500 до 4 000 usd.
Biganto Москва
от 130 000 до 130 000 руб.
HTML Academy Москва
от 85 000 до 100 000 руб.
15 авг. 2018, в 11:49
700 руб./в час
15 авг. 2018, в 11:44
2000 руб./за проект
15 авг. 2018, в 11:01
700 руб./в час