Size: a a a

Советский Angular

2020 March 16

L

Let me take you into... in Советский Angular
Roman
а смысл если архитектура на ngrx? делаешь тоже самое но в редьюсере отдельном где отслеживаешь все actions на isLoading = true как пример. И получаешь слабое связывание. Убрал этот лоадер работает, добавил работает без изменений
Нет)
источник

S

Smooth Operator in Советский Angular
Let me take you into the light
export class LoadingService {
 isLoading$: Observable<boolean>;
 private loadingCount$ = new BehaviorSubject(0);

 constructor() {
   this.isLoading$ = this.loadingCount$
     .pipe(
       map(count => count > 0),
       distinctUntilChanged()  
     );
 }

 inc() {
   this.updateCount(c => c + 1);
 }

 dec() {
   this.updateCount(c => (c > 0
     ? c - 1
     : 0));
 }

 public track<T>(destroyed$: Observable<void>) {
   return (target: Observable<T>) =>
     Observable.create((observer: Observer<T>) => {
       this.inc();

       const sub = target
         .pipe(takeUntil(destroyed$))
         .subscribe(observer);

       return () => {
         this.dec();
         sub.unsubscribe();
       };
     });
 }

 private updateCount(fn: (count: number) => number) {
   this.loadingCount$.next(fn(this.loadingCount$.value));
 }
}
а почему inc dec без паблик?)
источник

L

Let me take you into... in Советский Angular
давай с тобой
источник

R

Roman in Советский Angular
так тебе надо во все эффекты или сервисы пихать inc dec
источник

L

Let me take you into... in Советский Angular
Воиспроизведем
источник

L

Let me take you into... in Советский Angular
Ситуацию
источник

L

Let me take you into... in Советский Angular
У тебя 2 запроса
источник

L

Let me take you into... in Советский Angular
Паралельных
источник

L

Let me take you into... in Советский Angular
Диспачиться 2 екшена
источник

R

Roman in Советский Angular
редьюсер считает сколько завершилось сколько нет
источник

L

Let me take you into... in Советский Angular
Smooth Operator
а почему inc dec без паблик?)
Коду 3 года
источник

L

Let me take you into... in Советский Angular
Roman
редьюсер считает сколько завершилось сколько нет
Отличный костыль
источник

L

Let me take you into... in Советский Angular
)
источник

R

Roman in Советский Angular
и может для надежности еще группировать по action.type
источник

L

Let me take you into... in Советский Angular
А потом у тебя несколько лоадеров
источник

L

Let me take you into... in Советский Angular
И на каждый лоадер
источник

L

Let me take you into... in Советский Angular
по редюсеру)
источник

L

Let me take you into... in Советский Angular
Либо 1 редюсер и много лооадеров
источник

R

Roman in Советский Angular
один редьюсер. Но если надо выводит лоадеры по типу данных в интерфейсе, когда лочим не весь интерфейс то обрабатываем отдельные
источник

R

Roman in Советский Angular
локальные редьюсеры и один на глобальный лоадер
источник