@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
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Я так понимаю, опять фантазируете вместо того, чтобы загуглить документацию. Чёрным по белому сказано же:

next transaction (subscription) cannot start until the previous completes

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

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

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 18:16
1000 руб./за проект
28 мар. 2024, в 18:15
90000 руб./за проект
28 мар. 2024, в 18:05
5000 руб./за проект