我在" posts.service.ts "
中有以下导入import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { NotFoundError } from '../commons/errors/not-found-error.errors';
import { AppErrors } from '../commons/errors/app-errors.errors';
import { Observable } from 'rxjs';
import { catchError } from 'rxjs/operators';
import 'rxjs/add/observable/throw';
我甚至检查了 node_modules 文件夹中的' rxjs / add / observable / throw'它在那里可用。但是在项目编译阶段我得到了一个奇怪的错误,如下所示。
./src/app/services/posts.service.ts中的错误 找不到模块:错误:无法解决&rxjs / add / observable / throw' in' / Users / gauthampughaz / Development / angular / practice / src / app / services'
ℹ「wdm」:编译失败。
答案 0 :(得分:10)
从RxJS 6开始,您应该直接从'rxjs'
导入“创建”方法:
import { throwError } from 'rxjs';
请不要忘记您需要设置正确的路径图,但如果您使用的是angular-cli,则无需担心。有关详细信息,请参阅:https://github.com/ReactiveX/rxjs/blob/6.2.0/doc/pipeable-operators.md#build-and-treeshaking
答案 1 :(得分:0)
_throw现在导出为throwError。
如果您不想替换_throw的每个实例,您可以执行此类操作。 (不要推荐)。
import { throwError as _throw } from 'rxjs';
或者您可以随处更改_throw to throwError
请在此处查看其他重大更改:
https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md#breaking-changes-7