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

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

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

40 ответов

6 просмотров

можно добавить 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> и посмотреть что приходит после асинка

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
3
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Карта сайта