Size: a a a

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

2020 February 04

YK

Yuri Katkov in Angular - русскоговорящее сообщество
на 10:55 - „а вообще было бы удобно, чтобы метод subscribe вызывался столько раз, сколько есть ответов, для того чтобы мы всегда работали с отдельным пользователем“
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
мне вот вообще не очевидно, что в этом удобного
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Yuri Katkov
мне вот вообще не очевидно, что в этом удобного
Это можно использовать, чтобы обработать сообщения по отдельности, а потом (если требуется) снова объединить воедино
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
ну, то есть, если надо, например, для каждого юзера запросить какую-то доп. информацию с сервера
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
ага, что-то типа такого
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
но если надо просто массив отмапить - лучше ж просто его отмапить?
источник

G

Galeups in Angular - русскоговорящее сообщество
ну как у него получилось то из массива сделать поток? ))
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Galeups
ну как у него получилось то из массива сделать поток? ))
у него не из массива а из fromEvent поток идёт
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Galeups
ну как у него получилось то из массива сделать поток? ))
mergeMap, как и многие другие операторы, принимают ObservableInput

type ObservableInput<T> = SubscribableOrPromise<T> | ArrayLike<T> | Iterable<T>;
https://rxjs-dev.firebaseapp.com/api/index/type-alias/ObservableInput
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Galeups
ну как у него получилось то из массива сделать поток? ))
чем не устраивает
of(arrayFromServer).pipe(map(#TODO#))
как уже выше предлагалось?
обработка каждого элемента подразумевает какие то запросы или сложные вычисления?


Даже не так а

return http.post(url).pipe(map(#todo#))
источник

YK

Yehór Kashperskyi in Angular - русскоговорящее сообщество
Galeups
ну как у него получилось то из массива сделать поток? ))
of
источник

G

Galeups in Angular - русскоговорящее сообщество
нет просто формирование нового массвиа с элеменами нужного типа
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Galeups
нет просто формирование нового массвиа с элеменами нужного типа
тогда просто array мап в rx мапе!
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Galeups
нет просто формирование нового массвиа с элеменами нужного типа
ну так верните из сервиса Observable, а в сервисе не подписывайтесь а просто верните запрос с доп pipe

getItems(): Observable<myItem[]> {
return this.http(url).pipe(map(array => array.map(тут логика));
}
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
вот!
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Yuri Katkov
тогда просто array мап в rx мапе!
++
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
зачем расхреначивать массив на обзервабл, если потом у вас просто преобразование одного вида объектов в другой вид объектов, без никакой асинхронности
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Galeups
нет просто формирование нового массвиа с элеменами нужного типа
в зависимости от задачи маппинг мб лучше вынести в компонент, а не в сервисе реализовывать
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Yuri Katkov
зачем расхреначивать массив на обзервабл, если потом у вас просто преобразование одного вида объектов в другой вид объектов, без никакой асинхронности
я слышал, что чем больше observable в твоём коде, тем ты более крутой разраб:)
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Oleg Safonov
я слышал, что чем больше observable в твоём коде, тем ты более крутой разраб:)
ну ты видел, я сверху (вчера ночью тема) тоже старался соответствовать))
источник