Size: a a a

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

2020 March 18

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Smooth Operator
ты не можешь это гарантировать
ну окей, если там ошибка, то мне надо и её показать
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Dmitry Teplov
ну окей, если там ошибка, то мне надо и её показать
CanDeactivate есть гард
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
можешь запрещать выход пока идут запросы
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Smooth Operator
CanDeactivate есть гард
так блокировать не надо
источник

DI

Dmitriy Ivchenko in Angular - русскоговорящее сообщество
Владислав
Чтоб не в const, а в this записывалось
this.documentId = documentId;
this.debtorId = debtorId;
источник

В

Владислав in Angular - русскоговорящее сообщество
Dmitriy Ivchenko
this.documentId = documentId;
this.debtorId = debtorId;
Сейчас так и работает, думал есть способ поинтереснее)
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Dmitry Teplov
так блокировать не надо
значит запрос должен быть сделан в том месте которое живет дольше места где этот запрос инициирован
источник

В

Владислав in Angular - русскоговорящее сообщество
С деструктуризацией в переменные компонента
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Smooth Operator
значит запрос должен быть сделан в том месте которое живет дольше места где этот запрос инициирован
имхо нужен какой-то другой подход, чтобы не управлять этим из компонентов или сервисов, у которых время жизни как у компонента

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

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Smooth Operator
значит запрос должен быть сделан в том месте которое живет дольше места где этот запрос инициирован
вроде такой фигни (код от балды,  не настоящий):

updateEntity<T>(entity: Partial<T>): Observable<T> {
 return new Observable(observer => {
   this.http.patch<T>(ENTITY_ROUTE, entity)
     .pipe(handleHttpError())
     .subscribe(
       result => { observer.next(result); observer.complete() },
       error => { observer.error(error); observer.complete() },
       () => { observer.complete() },
     );
 });
}
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Dmitry Teplov
имхо нужен какой-то другой подход, чтобы не управлять этим из компонентов или сервисов, у которых время жизни как у компонента

вроде того, чтобы оборачивать запрос и подписываться внутри, чтобы запрос завершился вне зависимости от количества подписчиков в компоненте
this message sposnsored by ngrx gang
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Dmitry Teplov
вроде такой фигни (код от балды,  не настоящий):

updateEntity<T>(entity: Partial<T>): Observable<T> {
 return new Observable(observer => {
   this.http.patch<T>(ENTITY_ROUTE, entity)
     .pipe(handleHttpError())
     .subscribe(
       result => { observer.next(result); observer.complete() },
       error => { observer.error(error); observer.complete() },
       () => { observer.complete() },
     );
 });
}
> updateEntity<T>(entity: Partial<T>): Observable<T>;
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
из этой строчки тебе понятно, нужно отписываться или нет?
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Smooth Operator
из этой строчки тебе понятно, нужно отписываться или нет?
надо
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
и ты отпишешься, но внутри разве не дойдёт до конца реквест?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Dmitry Teplov
и ты отпишешься, но внутри разве не дойдёт до конца реквест?
дойдет, но не нарушает ли это контракт обсервабла?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
я делаю апдейт ентити
потом отписываюсь от этого (отменяю)
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
а оно всеравно апдейтится
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Smooth Operator
я делаю апдейт ентити
потом отписываюсь от этого (отменяю)
и как ты тут гарантируешь, в какой момент времени ты отписался и что оно ещё не успело обновиться?
может ты отписался, пока у тебя ответ грузился
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Dmitry Teplov
и как ты тут гарантируешь, в какой момент времени ты отписался и что оно ещё не успело обновиться?
может ты отписался, пока у тебя ответ грузился
)
источник