为了账号安全,请及时绑定邮箱和手机立即绑定

RXJS 6 处理http Observables 的方式是什么?

RXJS 6 处理http Observables 的方式是什么?

萧十郎 2021-06-28 16:15:53
我注意到我的代码在新项目中使用时不起作用:import { Injectable } from '@angular/core';import { HttpClient } from '@angular/common/http';import { Observable } from 'rxjs';import { TypeAndCountURL } from '@app/constants';import { HttpErrorService } from '@app/services/http-error.service';import { TypeAndCountResponseBody, TypeAndCountRequestBody } from '@app/models/type-and-count/bodies.interface';@Injectable({  providedIn: 'root'})export class ApiService {  constructor (private http: HttpClient, private httpErrorService: HttpErrorService) {}  postTypeAndCountRequest(typeAndCountRequestBody: TypeAndCountRequestBody): Observable<TypeAndCountResponseBody> {    return this.http.post<TypeAndCountResponseBody>(TypeAndCountURL, typeAndCountRequestBody).pipe(      catchError(this.httpErrorService.handleError<TypeAndCountResponseBody>('postTypeAndCountRequest'))    );  }}具体来说,我得到 Cannot find name 'catchError'. Did you mean 'RTCError'?ts(2552)读到这里,我发现我可以通过单独导入来解决这个问题(从 rxjs/operators .. whihc 很好,但是).. 而且整个结构是 rxjs 5 的兼容模式......是什么RXJS 6 处理错误响应的方式?
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

您可以使用


import { catchError } from "rxjs/operators";


fetchUser() {

       this.userService.getProfile()

          .subscribe(

             (data: User) => this.userProfile = { ...data }

              , // success path

              error => this.error = error // error path

       );

    }


查看完整回答
反对 回复 2021-07-01
  • 1 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信