выполнить дополнительные наблюдаемые / обещания в конце http-запроса - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть перехватчик, и мне нужно связать / выполнить обещание / наблюдаемый, когда запрос возвращается с сервера. Как я могу сделать это в rxjs 6?

intercept(): Observable<HttpEvent<any>> {
    return next.handle(request)[DO-SOMETHING]
}

1 Ответ

0 голосов
/ 06 сентября 2018

Если вам нужно изменить событие http:

return next.handle(request).pipe(
    mergeMap(request => yourPromiseOrObservable));

Что делает mergeMap?

Проецирует каждое исходное значение в Observable, которое объединяется в выходной Observable.

И для получения дополнительной помощи .

Если вам не нужно изменять http-событие:

return next.handle(request).pipe(
    tap(request => yourPromise.then(_ => ;)));

Что делает tap? 1019 *

Выполнить побочный эффект для каждого излучения на наблюдаемом источнике, но вернуть Наблюдаемое, идентичное источнику.

Или, если вам нужно дождаться обещания, но не изменять запрос:

return next.handle(request).pipe(
    delayWhen(request => from(yourPromise)));

Что делает delayWhen?

Задерживает выброс предметов из источника, наблюдаемого на данный промежуток времени, определяемый излучением другого наблюдаемого.

...