У меня неожиданное поведение с Observable.of() и repeatWhen. Мне было интересно, правильное ли это поведение или нет, и почему?
const value = 5;
let variable = 0;
const getValue = () => {
variable = variable + 1;
return value * variable;
}
function test () {
Observable.of(getValue())
.repeatWhen(obs => obs.delay(1000))
.subscribe(value => console.log(value);
}
Ожидается: 5 10 15 20 ...
Результат: 5 5 5 5 ...
По-видимому, значение, возвращаемое Observable.of(), повторно используется для каждой последующей подписки. Как почему?