Size: a a a

Angular - русскоговорящее сообщество

2021 March 05

z

zanovsсkaya in Angular - русскоговорящее сообщество
Sergey
и чем это обусловлено?
https://t.me/angular_fox/319

классный доклад про необходимость отписок
источник

S

Sergey in Angular - русскоговорящее сообщество
Евгений Удалов
ты отправил запрос. запрос подвис. ты уже ушел на другой роут. а  подписка висит.
окей, прилетит ошибка и дальше что? компонент уничтожен... и?
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Sergey
окей, прилетит ошибка и дальше что? компонент уничтожен... и?
компонент не уничтожится так
источник

ЕУ

Евгений Удалов... in Angular - русскоговорящее сообщество
Sergey
окей, прилетит ошибка и дальше что? компонент уничтожен... и?
так ошибка не прилетит. допустим, что запрос таки обработается и сайдэффектнет тебе какими-то данными, которых не должно быть, т.к. ты уже ушел оттуда, не дожидаясь выполнения
источник

S

Sergey in Angular - русскоговорящее сообщество
Евгений Удалов
так ошибка не прилетит. допустим, что запрос таки обработается и сайдэффектнет тебе какими-то данными, которых не должно быть, т.к. ты уже ушел оттуда, не дожидаясь выполнения
чисто ради эксперемента только что проверил.  У меня есть http запрос за данными на 2.5Мб через vpn, загрузка ~30сек идет.
Добавил в subscribe вывод console.log, Открыл компонент, пошел запрос, перешел на другой роут(компонент был уничтожен). Запрос завершился в консоле ничего не появилось. О каких сайд эффектах речь?
источник

S

Sergey in Angular - русскоговорящее сообщество
запрос через сервис был, без использования ngrx и т.д.
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Sergey
чисто ради эксперемента только что проверил.  У меня есть http запрос за данными на 2.5Мб через vpn, загрузка ~30сек идет.
Добавил в subscribe вывод console.log, Открыл компонент, пошел запрос, перешел на другой роут(компонент был уничтожен). Запрос завершился в консоле ничего не появилось. О каких сайд эффектах речь?
магия
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
сможете воспроизвести на stackblitz?
источник

S

Sergey in Angular - русскоговорящее сообщество
хм... это долго и сложно(
источник

Д

Дара in Angular - русскоговорящее сообщество
Sergey
чисто ради эксперемента только что проверил.  У меня есть http запрос за данными на 2.5Мб через vpn, загрузка ~30сек идет.
Добавил в subscribe вывод console.log, Открыл компонент, пошел запрос, перешел на другой роут(компонент был уничтожен). Запрос завершился в консоле ничего не появилось. О каких сайд эффектах речь?
Это значит стоит отписыватьчя или нет? 😅
источник

S

Sergey in Angular - русскоговорящее сообщество
попробую вечером
источник

S

Sergey in Angular - русскоговорящее сообщество
Дара
Это значит стоит отписыватьчя или нет? 😅
моё мнение -нет, но коллеги считают иначе
источник

AK

Anatoliy Kernokus in Angular - русскоговорящее сообщество
всем привет. прошу совет - хочу использовать graphQL в своём Angular проекте и появилось несколько вопросов. 1. Логику взаимодействия лучше описывать в сервисе? 2.Как использовать graphQL с Angular?я нашёл только какой-то apollo,есть ли другие варианты и есть ли смысл их трогать?
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
Оно подпадает под манкипатчинг + оно отписывается только от полей класса
источник

S

Sergey in Angular - русскоговорящее сообщество
Дара
Это значит стоит отписыватьчя или нет? 😅
не отписываться только от http запросов... если что)
источник

Д

Дара in Angular - русскоговорящее сообщество
Sergey
не отписываться только от http запросов... если что)
Понял. Спс)
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
Sergey
чисто ради эксперемента только что проверил.  У меня есть http запрос за данными на 2.5Мб через vpn, загрузка ~30сек идет.
Добавил в subscribe вывод console.log, Открыл компонент, пошел запрос, перешел на другой роут(компонент был уничтожен). Запрос завершился в консоле ничего не появилось. О каких сайд эффектах речь?
смотрите, Observable разные бывают. Сегодня он у тебя горячий, завтра холодный. Ты можешь лезть и всегда чекать цепочку, чтобы понять что там у тебя. Надо ли отписыватсья или нет. Проще просто следовать контракту - подписка = отписка. Это делает код максимально безопасным и простым. Если ты будешь менять свойство потока, ты будешь уверен, что он не создаст тебе утечек. Также это поможет избежать всяких казусов в тестах, в hmr(довольно новое для ангуляр).
источник

S

Stanislav in Angular - русскоговорящее сообщество
Anatoliy Kernokus
всем привет. прошу совет - хочу использовать graphQL в своём Angular проекте и появилось несколько вопросов. 1. Логику взаимодействия лучше описывать в сервисе? 2.Как использовать graphQL с Angular?я нашёл только какой-то apollo,есть ли другие варианты и есть ли смысл их трогать?
отвечу только по поводу apollo, это лучшее что сейчас есть
источник

S

Sergey in Angular - русскоговорящее сообщество
Денис Макаров
смотрите, Observable разные бывают. Сегодня он у тебя горячий, завтра холодный. Ты можешь лезть и всегда чекать цепочку, чтобы понять что там у тебя. Надо ли отписыватсья или нет. Проще просто следовать контракту - подписка = отписка. Это делает код максимально безопасным и простым. Если ты будешь менять свойство потока, ты будешь уверен, что он не создаст тебе утечек. Также это поможет избежать всяких казусов в тестах, в hmr(довольно новое для ангуляр).
я согласен, но вопрос был в отписке от http запросов, лично для меня, если это подразумевает http запрос, то он не поменяет свою тип на горячий обсервабл. Если могут быть какие-то нюансы с возможным изменением природы обсервабла 100% стоит добавить отписку.
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
Sergey
я согласен, но вопрос был в отписке от http запросов, лично для меня, если это подразумевает http запрос, то он не поменяет свою тип на горячий обсервабл. Если могут быть какие-то нюансы с возможным изменением природы обсервабла 100% стоит добавить отписку.
вы доклад смотрели выше?) там были интересные кейсы показаны и с http.
источник