Size: a a a

Советский Angular

2019 December 09

DM

Denis Mayorov in Советский Angular
Let me take you into the light
Кстати, очень хороший пример
убираешь ретри и всё отписывается само
источник

Вキ

Вертихвост キバ in Советский Angular
Denis Mayorov
убираешь ретри и всё отписывается само
а вдруг там будет что-то другое?
источник

Вキ

Вертихвост キバ in Советский Angular
а вдруг данные по запросу больше не интересуют, но он все равно отработает?
источник

DM

Denis Mayorov in Советский Angular
Вертихвост キバ
а вдруг данные по запросу больше не интересуют, но он все равно отработает?
ангуляр это обрабатывает к слову, ошибок не кидает, ниче не случается обычно по моему опыту
в других фреймворках тебе кинет ошибку то что ты обновляешь что-то на несуществующем вью, ангуляру бы следовало делать так тоже, хотя бы под каким-нибудь флагом
источник

Вキ

Вертихвост キバ in Советский Angular
Denis Mayorov
ангуляр это обрабатывает к слову, ошибок не кидает, ниче не случается обычно по моему опыту
в других фреймворках тебе кинет ошибку то что ты обновляешь что-то на несуществующем вью, ангуляру бы следовало делать так тоже, хотя бы под каким-нибудь флагом
Мне делать еще один пример?)
источник

DM

Denis Mayorov in Советский Angular
да я тебя прекрасно понимаю, просто по мне бессмысленно бороться идеологией за это
источник

DM

Denis Mayorov in Советский Angular
надо чтобы технология наказывала каждый раз за неотписки
источник

DM

Denis Mayorov in Советский Angular
в идеале чтобы тайплевл это ловил
источник

Вキ

Вертихвост キバ in Советский Angular
Denis Mayorov
в идеале чтобы тайплевл это ловил
это было бы круто
источник

DM

Denis Mayorov in Советский Angular
суть проблемы тут в недисциплинированном программисте и "открытой" системе
с этим надо как-то на уровне технологии бороться, вся эта точность типов и soundness за которую борются последнее десятилетие как раз направлена на то чтобы нельзя было написать неправильно, типы как бы огораживают возможные варианты написания кода/модуля/функции. Вот так же надо сделать чтобы невозможно было не отписываться грубо говоря, иначе бы что-то где-то не сходилось и всё вообще ломалось не компилировалось
источник

DM

Denis Mayorov in Советский Angular
неплохо было бы добавить teardown как опциональное возвращаемое значение из ngOnInit к слову
источник

Вキ

Вертихвост キバ in Советский Angular
@andriisiuta добавил еще один пример, почему надо отписываться
https://stackblitz.com/edit/why-you-have-to-unsubscribe-from-observable
источник

DM

Denis Mayorov in Советский Angular
Denis Mayorov
неплохо было бы добавить teardown как опциональное возвращаемое значение из ngOnInit к слову
ngOnInit() {
 const sub1 = of().subscribe();
 const sub2 = of().subscribe();
 const sub3 = of().subscribe();
 return {sub1, sub2, sub3}
}
источник

Вキ

Вертихвост キバ in Советский Angular
Denis Mayorov
ngOnInit() {
 const sub1 = of().subscribe();
 const sub2 = of().subscribe();
 const sub3 = of().subscribe();
 return {sub1, sub2, sub3}
}
либо просто TeardownLogic
источник

DM

Denis Mayorov in Советский Angular
TeardownLogic не совсем удобный интерфейс, надо всё в одну подписку кидать, либо функцию
источник

DM

Denis Mayorov in Советский Angular
общий случай это в любой случае функция и надо это поддерживать
источник

Вキ

Вертихвост キバ in Советский Angular
Denis Mayorov
TeardownLogic не совсем удобный интерфейс, надо всё в одну подписку кидать, либо функцию
return teardown(sub1, sub2, sub3);
источник

DM

Denis Mayorov in Советский Angular
но вот таким объектом я думаю самое оно под большинство случаев
источник

L

Let me take you into the light in Советский Angular
Вертихвост キバ
return teardown(sub1, sub2, sub3);
Я тут сидел и надумал 1 штуку, не знаю насколько так правильно делать, передавать в пайп контейнер реф + другие данные, и сделать так что б пайп рендерил темплейт
источник

L

Let me take you into the light in Советский Angular
Это очень плохо?)
источник