У меня есть BehaviorSubject, и первый обратный вызов .subscribe возвращает массив с 6 объектами и на консольном выходе показывает length: 6
, но каждый цикл for повторяется только 5 раз и даже console.log (arr.length) выходы '5'
Я не знаю, как воспроизвести это, но у меня есть следующий код:
public objects: BehaviorSubject<Object[]> = new BehaviorSubject([]);
// other class
this.objectService.objects.subscribe(_objects => {
if (_objects) {
for (const obj of _objects) {
console.log(obj);
}
console.log(_objects);
console.log(_objects.length);
}
});
Выход:
Как это может произойти? Множество различных сервисов пишут (objects.next) в этот объект BehaviorSubject, но как я могу предотвратить это?
Это случается только в первый раз, когда 'objects' .next-ed, из второго .next в этом коде отлично работает и показывает реальную длину.
Я также протестировал .find и .filter в массиве, но он может фильтровать только 5 последних записей, но не первую