Size: a a a

2018 December 21

NP

Nikita Perepelitsa in Angular Kyiv
Agnislav Onufriichuk
Не очень хорошая затея, если честно. Впиливать процедурный стиль в и так дикую смесь реактивщины и функциональщины, приправленной ооп - траблы вылезут 100%
на паре проектов так circular dependency возникали :^)
источник

IF

Igor Filippov in Angular Kyiv
Есть асинк пайп. В одном случае в обсервабл(объект с двумя полями 1- объект, 2 - массив ) приходят данные. Асинк пайп срабатывает как обычно. В другом случае, передаю в 1 поле пустой объект, в 2 поле - пустой массив. Ну и все выглядит так как будто асинк пайт вообще не срабатывает. Не совсем пока понимаю как так может быть
источник

AO

Agnislav Onufriichuk in Angular Kyiv
Igor Filippov
Есть асинк пайп. В одном случае в обсервабл(объект с двумя полями 1- объект, 2 - массив ) приходят данные. Асинк пайп срабатывает как обычно. В другом случае, передаю в 1 поле пустой объект, в 2 поле - пустой массив. Ну и все выглядит так как будто асинк пайт вообще не срабатывает. Не совсем пока понимаю как так может быть
Если на обсервабл навесить tap(data => console.log(data)) - оно отработает? если да, я бы смотрел, как работаете с данными после пайпа
источник

IF

Igor Filippov in Angular Kyiv
Agnislav Onufriichuk
Если на обсервабл навесить tap(data => console.log(data)) - оно отработает? если да, я бы смотрел, как работаете с данными после пайпа
Не работает.
источник

IF

Igor Filippov in Angular Kyiv
Но если заколхозить обычный сабскрайб то все норм
источник

IF

Igor Filippov in Angular Kyiv
Есть одна догадка)
источник

IF

Igor Filippov in Angular Kyiv
У меня был сабжедкт, вместо бехевиор. Может быть тут конечно и не прямая связь. В целом я продвинулся дальше
источник

DG

Danil Gudz in Angular Kyiv
ну тогда видимо не емится данные после того как асинк отработал
источник

IF

Igor Filippov in Angular Kyiv
Danil Gudz
ну тогда видимо не емится данные после того как асинк отработал
Куда не имитятся?
источник

IF

Igor Filippov in Angular Kyiv
Вернее почему
источник

DG

Danil Gudz in Angular Kyiv
ну это врядли ко мне вопрос) нужно смотреть в место где в этот обзервебл данные летят
источник

IF

Igor Filippov in Angular Kyiv
Так туда они залетают то. Стандартно через сабджект некст
источник

DG

Danil Gudz in Angular Kyiv
в какой момент? в ngOnInit?
источник

IF

Igor Filippov in Angular Kyiv
Да
источник

DG

Danil Gudz in Angular Kyiv
ну так рендер происходит позже ngOnInit'a
соответственно async под капотом сделал сабскрайб после того как туда прилетели данные, а он ведь начнет слушать стрим по данным которые приходят после сабскрайба
источник

DG

Danil Gudz in Angular Kyiv
тут 3 варианта я вижу:
1) сделать BehaviorSubject
2) вынести из ngOnInit в ngAfterViewInit
3) сделать pipe(shareReplay(1))
источник

IF

Igor Filippov in Angular Kyiv
Ну я выбрал первый уже, просто интересно почему когда данные заходят все работает, а без них нет
источник

DG

Danil Gudz in Angular Kyiv
ну если ты сделаешь
const subj = new Subject<number>();
subj.next(1);
subj.subscribe(num => console.log(num));
источник

DG

Danil Gudz in Angular Kyiv
то тут тоже ниче не будет
источник

DG

Danil Gudz in Angular Kyiv
потому что после сабскрайба данные в стрим не идут
источник