Size: a a a

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

2020 February 06

AS

Anton Shvets in Angular - русскоговорящее сообщество
Bretbas
бред какой-то
теперь меня смущает takeWhile. зачем он?
источник

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
Anton Shvets
еще map умеет принимать индекс "входящего", или switchMap, mergeMap
В мапе оч плохо сайд эффекты делать
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Денис Макаров
В мапе оч плохо сайд эффекты делать
да, но я не знаю больше способов получить индекс. Ну кроме своей подписки в своем операторе.
а, еще filter, но это не лучше.
источник

B

Bretbas in Angular - русскоговорящее сообщество
Anton Shvets
теперь меня смущает takeWhile. зачем он?
takeWhile не правильно на скрине сделал. ВОт какой должен быть:
      takeWhile((event: HttpEvent<any>) =>
     {
       if (event.type === HttpEventType.Response)
       {
         console.log(`takeWhile`);
         file.inProgress = false;
         return true;
       }
       return false;
     })
источник

B

Bretbas in Angular - русскоговорящее сообщество
Он нужен для того, чтобы пропустить мимо все HttpEventType.UploadProgress, а пропустить только еммит тот который HttpEventType.Response
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Bretbas
takeWhile не правильно на скрине сделал. ВОт какой должен быть:
      takeWhile((event: HttpEvent<any>) =>
     {
       if (event.type === HttpEventType.Response)
       {
         console.log(`takeWhile`);
         file.inProgress = false;
         return true;
       }
       return false;
     })
зачем тебе вообще прерывать поток самому? помести file.inProgress = false в finalize
takeWhile не фильтрует, он комплитит.
источник

B

Bretbas in Angular - русскоговорящее сообщество
Anton Shvets
зачем тебе вообще прерывать поток самому? помести file.inProgress = false в finalize
takeWhile не фильтрует, он комплитит.
оу
источник

B

Bretbas in Angular - русскоговорящее сообщество
он комплитит?
источник

B

Bretbas in Angular - русскоговорящее сообщество
а skipWhile?
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Bretbas
он комплитит?
Emits values emitted by the source Observable so long as each value satisfies the given predicate, and then completes as soon as this predicate is not satisfied.
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Bretbas
а skipWhile?
это filter вообще в чистом виде у тебя
источник

B

Bretbas in Angular - русскоговорящее сообщество
Anton Shvets
это filter вообще в чистом виде у тебя
е мое, ща
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
и в filter же ты можешь вызвать свои действия на нулевом индексе. хотя это не совсем правильно снабжать фильтр сайд эффектом
источник

B

Bretbas in Angular - русскоговорящее сообщество
Anton Shvets
и в filter же ты можешь вызвать свои действия на нулевом индексе. хотя это не совсем правильно снабжать фильтр сайд эффектом
да, помогло) спасибо
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
вообще ты странно пишешь это все. почему бы не сделать просто tap(evt => file.inProgress = evt.type === HttpEventType.UploadProgress)
нафига фильтры все эти и проверки
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
а еще лучше tap(evt => inProgress$.next(evt.type === HttpEventType.UploadProgress))
источник

B

Bretbas in Angular - русскоговорящее сообщество
Anton Shvets
вообще ты странно пишешь это все. почему бы не сделать просто tap(evt => file.inProgress = evt.type === HttpEventType.UploadProgress)
нафига фильтры все эти и проверки
чтобы потом привести response к Image типу
источник

B

Bretbas in Angular - русскоговорящее сообщество
а приводить его нужно только тогда, когда полностью придет ответ
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Bretbas
чтобы потом привести response к Image типу
так оно друг с другом никак не связано.
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
для ловли последнего значения есть last, finalize
источник