169 похожих чатов

Я получаю список сущностей в компоненте this.projects$ = this.service.getProjects() и во вьюхе

вывожу их через пайп projects$ | async
Как мне отследить момент получения данных? Хочу контролировать флаг isLoading

40 ответов

25 просмотров

можно добавить pipe(tap)

Кириллл-🚀 Go Aaply Автор вопроса
Oleg Safonov
можно добавить pipe(tap)

Во, точно, забыл. Спасибо

Кириллл 🚀 Go Aaply
Во, точно, забыл. Спасибо

Надо запомнить что tap это side effect, тогда будет легче его применять.

Oleg Safonov
можно добавить pipe(tap)

Если запрос рестовый tap для флага не подойдёт в случае ошибки. Тупо не отработает

Кириллл-🚀 Go Aaply Автор вопроса
Alex Bu
Юзайте pipe(finalize(() => {}))

А если нужно с данными что-то сделать?

Кириллл 🚀 Go Aaply
А если нужно с данными что-то сделать?

Флаг isLoading не связан с работой с данными

Кириллл 🚀 Go Aaply
А если нужно с данными что-то сделать?

Для самих данных используете tap и catchError

Кириллл-🚀 Go Aaply Автор вопроса
Кириллл 🚀 Go Aaply
Не спорю, просто спросил)

ngIf c request + через async и спиннером через else тоже будет плохо ошибку обрабатывать Точнее вообще не будет, спиннер будет вечным Под это штуку есть статья у Алексея Зуева как с этим бороться Мало ли, у Вас такая конструкция)

Кириллл 🚀 Go Aaply
Как статью найти?

Раньше она была тут https://blog.angularindepth.com/angular-show-loading-indicator-when-obs-async-is-not-yet-resolved-9d8e5497dd8

Кириллл-🚀 Go Aaply Автор вопроса
Alex Bu
Раньше она была тут https://blog.angularindepth.co...

https://codinglatte.com/posts/angular/angular-async-pipe-handle-errors/ Похоже на то, что надо?

Кириллл 🚀 Go Aaply
https://codinglatte.com/posts/angular/angular-asyn...

Что-то такое, там ещё один пайп-обвязка был, который как раз хендлил состояние ошибки

Кириллл-🚀 Go Aaply Автор вопроса
Alex Bu
Что-то такое, там ещё один пайп-обвязка был, котор...

https://medium.com/angular-in-depth/angular-show-loading-indicator-when-obs-async-is-not-yet-resolved-9d8e5497dd8

Кириллл 🚀 Go Aaply
https://medium.com/angular-in-depth/angular-show-l...

Если будет интересно, я делал компонент обработчик, чтобы всякие спиннеры с отписками и подписками постоянно не делать https://link.medium.com/CuhLLCkjmdb Каждый день примерно такой штукой пользуюсь, оч упрощает жизнь Может воодушевитесь и также сделаете себе такой модуль на годы вперёд)

Кириллл-🚀 Go Aaply Автор вопроса
Кириллл 🚀 Go Aaply
Спасибо, посмотрю, выглядит полезно

Если что, обязательно пишите. С момента статьи я кучу всего в этой штуке доработал - того, что уже десятка полтора проектов требовали. Буду рад рассказать)

Alex Bu
Если будет интересно, я делал компонент обработчик...

на первый взгляд оно не типизировано. я просто директиву для лоадинга использую, а сами запросы оборачиваются в маппер с флагами

xxtux Shvets
на первый взгляд оно не типизировано. я просто дир...

По поводу типизации - да, есть проблема. Лично моего скила побороть её не хватает, если подскажите решение, то круть, буду рад перестроиться Тут только отмечу, что подход как в статье я встречал еще в либах ng-zorro-antd и primeNg. Если нужно, могу прям ссылки подогнать Насколько помню, там с типизацией по этой части тоже не оч

xxtux Shvets
на первый взгляд оно не типизировано. я просто дир...

По поводу директивы - это явно сложнее решение. И, как мне кажется, чуть менее гибкое. Тут всё таки компонент и изи хендлинг обертки хтмл над любым блоком. Со структурной директивой возможности такие явно сложнее достижимы

Alex Bu
По поводу директивы - это явно сложнее решение. И,...

не структурная. обычная. но это просто для отображения. у лиса в ngxf было чето подобное. а ваще это на саспенс похоже реактовский

xxtux Shvets
не структурная. обычная. но это просто для отображ...

С обычной тогда много всяких фишек теряется, а-ля всякие ngOnInit на обернутых блоках)

xxtux Shvets
это как о.О? куда они деваются :)

Ну с обычной директивой они отреденрятся сразу. Через обертку из статьи контент в теле можно удалять и снова создавать в зависимости от логики

Alex Bu
Ну с обычной директивой они отреденрятся сразу. Че...

я их говорю, в зависимости от логики, я всегда строю разметку сразу с дефолтными данными. А для необходимых данных есть резолверы

Alex Bu
Если что, обязательно пишите. С момента статьи я к...

Добрый день. Попробовал использовать pipe описанный в статье https://medium.com/angular-in-depth/angular-show-loading-indicator-when-obs-async-is-not-yet-resolved-9d8e5497dd8. Но получаю ошибки. Не подскажите как решить?

A S
screenshot Добрый день. Попробовал использовать pipe описанны...

Если vm['data'] написать, лучше не становится?

A S
нет

А внутри пайпа withLoading что?

Smooth Operator
Вам надо типы добавит в пайп

Да. Это я понимаю. Но этот pipe планирую использовать по проекту и туда могут приходить разные данные

A S
Да. Это я понимаю. Но этот pipe планирую использов...

Там объект, у которого известные свойства: дата, изЛоадинг, ерр. Вот дата дженериком может быть

A S
Да. Это я понимаю. Но этот pipe планирую использов...

Вы можете прям в темплейте между 1 и 2 строчкой написать <pre>{{vm | json}}</pre> и посмотреть что приходит после асинка

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта