Просто используйте метод pipe
и поместите оба оператора timeoutWith
и map
как функции в качестве его параметров:
import { throwError } from 'rxjs';
import { map, timeoutWith } from 'rxjs/operators';
return this._httpClient.post<LoginResultModel>(this.apiBaseUrl + "/api/login", body, options)
.pipe(
timeoutWith(Constant.timeout, throwError(new Error(Constant.timeoutMsg))),
map(result => {
if (result.AccessToken != null) {
this.setLoginToken(result);
return result;
} else {
return response;
}
})
);
Подробнее о переносимых операторах в RxJS 6:
https://github.com/ReactiveX/rxjs/blob/master/doc/pipeable-operators.md
Обратите внимание, я также использовал HttpClientModule
, где вам не нужно использовать метод response.json()
, подробнее об этом здесь:
https://angular.io/guide/http