角度6中的throw语句上无法访问的代码

时间:2018-09-18 08:47:53

标签: angular rxjs

我目前正在将4号角代码升级为6号角代码,并且刚刚更新了catch错误和throw函数。我在throw语句上遇到语法错误。它说无法访问的代码。有人可以告诉我问题是什么

  upload(url: string, body: any) {
        this._userService.touched.next(null); // touch
        const stream = this._proxy.fileUpload(url, body).pipe(map(ret => ret.originalResponse) , catchError((error: any) => {
            if (error.status === 401) {
                this._userService.unauthorized();
                return of(null);
            } else {
                return throw(error);
            }
        }));
        return stream;
    }

1 个答案:

答案 0 :(得分:0)

您应该使用throwError可观察的创建功能,而不要使用throw

尝试一下:

upload(url: string, body: any) {
        this._userService.touched.next(null); // touch
        const stream = this._proxy.fileUpload(url, body).pipe(map(ret => ret.originalResponse) , catchError((error: any) => {
            if (error.status === 401) {
                this._userService.unauthorized();
                return of(null);
            } else {
                return throwError(error);
            }
        }));
        return stream;
    }