Следующий фрагмент кода, использующий RxJS, не всегда дает одинаковый результат при выполнении в браузере (Chrome v70) ... почему?
const result = [];
interval(40).subscribe(
value => result.push(value)
);
setTimeout(() => {console.log(result);}, 180);
Зарегистрированные result
иногда [0, 1, 2]
, а иногда[0, 1, 2, 3]
.
Я ожидал, что выдача значений через interval
и проверка, запланированная через setTimeout
, будут запланированы через цикл событий JavaScript.Поэтому перед проверкой всегда следует выдавать четыре значения.
Очевидно, что это не так ... почему?