Size: a a a

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

2019 December 24

FU

Fedor Usakov in Angular - русскоговорящее сообщество
Smooth Operator
ужас то какой
Но комментариев хотелось бы.)
источник

R

Remite in Angular - русскоговорящее сообщество
Fedor Usakov
Сейчас проверил на разных окружаениях – похоже что не работает только на одном стенде. Спасибо за помощь.))
плохие данные в окружении приезжают во время резолва ?:)
источник

FU

Fedor Usakov in Angular - русскоговорящее сообщество
Service Worker мог бандл закэшировать, в принципе
источник

G

Galeups in Angular - русскоговорящее сообщество
народ, а что за волшебный оператор rxjs  shareReplay ?
источник

FU

Fedor Usakov in Angular - русскоговорящее сообщество
Это share + replay.
replay позволяет получить доступ к значению, даже если эмит был до того, как ты подписался, а share позволяет не делать лишних вычислений, когда ты перенаправляешь один поток в другой. Можно сохранить общее состояние потока и эффективно развести один observable на несколько. Непросто объяснить, но в доке довольно понятно написано.)
источник

G

Galeups in Angular - русскоговорящее сообщество
@f_usakov  спаисбо, но чет доку не очень понял. Понял одно, что на источник можно подписаться уже после эммита значения, и значение я получу в любом случае
источник

AE

Argument Exception in Angular - русскоговорящее сообщество
Galeups
@f_usakov  спаисбо, но чет доку не очень понял. Понял одно, что на источник можно подписаться уже после эммита значения, и значение я получу в любом случае
shareReplay это multicast(() => new ReplaySubject()) + refCount()

гуглите для чего нужен multicast и для чего refCount, ну и также ReplaySubject
источник
2019 December 25

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Galeups
@f_usakov  спаисбо, но чет доку не очень понял. Понял одно, что на источник можно подписаться уже после эммита значения, и значение я получу в любом случае
Вот тут есть краткое объяснение со всеми необходимыми ссылками https://t.me/angular_fox/59
источник

S

Saniya in Angular - русскоговорящее сообщество
Всем привет! Объясните пожалуйста, как применять в реактивной форме вместе invalid и error.required?
источник

G

Galeups in Angular - русскоговорящее сообщество
Вертихвост キバ
Вот тут есть краткое объяснение со всеми необходимыми ссылками https://t.me/angular_fox/59
👍 +1 подписчик
источник

АМ

Артур Мудрик in Angular - русскоговорящее сообщество
ребята, вот есть у вас эндпоинт GET /users → там приходит массив юзеров → соответственно, запрос вы вызываете примерно так — .load<User[]>('/users').subscribe(...)
источник

АМ

Артур Мудрик in Angular - русскоговорящее сообщество
а теперь по-другому — к вам не массив юзеров приходит, а вот такая структура, например:

{
 total: 453,
 page: 1,
 per_page: 24,
 users: [...],
 // и прочие мета-данные
}
источник

АМ

Артур Мудрик in Angular - русскоговорящее сообщество
тобишь, вы заводите отдельный тип, что-то вроде UserListResponse, и вызываете .load<UserListResponse>('/users').subscribe(...)?
источник

nt

nur tlek in Angular - русскоговорящее сообщество
.load().pipe(map(r => r ? new UserListResponse(r) : null)).subscribe();
источник

AI

Alexander Iworb in Angular - русскоговорящее сообщество
Артур Мудрик
тобишь, вы заводите отдельный тип, что-то вроде UserListResponse, и вызываете .load<UserListResponse>('/users').subscribe(...)?
Да. А еще лучше сделать что-то вроде ListResponse<User>, чтобы тип можно было использовать и на другие запросы
источник

АМ

Артур Мудрик in Angular - русскоговорящее сообщество
Alexander Iworb
Да. А еще лучше сделать что-то вроде ListResponse<User>, чтобы тип можно было использовать и на другие запросы
во, да, точно, респонсы обычно с одинаковой структурой, спасибо!
источник

nt

nur tlek in Angular - русскоговорящее сообщество
Alexander Iworb
Да. А еще лучше сделать что-то вроде ListResponse<User>, чтобы тип можно было использовать и на другие запросы
export interface Pagination {
   currentPage: number;
   itemsPerPage: number;
   totalItems: number;
   totalPages: number;
}

export class PaginatedResponse<T> {
   result: T;
   pagination: Pagination;
}
источник

AI

Alexander Iworb in Angular - русскоговорящее сообщество
nur tlek
export interface Pagination {
   currentPage: number;
   itemsPerPage: number;
   totalItems: number;
   totalPages: number;
}

export class PaginatedResponse<T> {
   result: T;
   pagination: Pagination;
}
ну не, у него же не на этом уровне идёт pagination
источник

nt

nur tlek in Angular - русскоговорящее сообщество
.load<PaginatedResponse<UserListResponse>>()
источник

AI

Alexander Iworb in Angular - русскоговорящее сообщество
export interface Pagination {
   currentPage: number;
   itemsPerPage: number;
   totalItems: number;
   totalPages: number;
}

export class PaginatedResponse<T> extends Pagination {
   users: T[];
}
Как-то так, только наверно еще имя users надо передавать
источник