" ... / node_modules / rxjs / Rx和#34;没有导出的成员' throwError'

时间:2018-05-10 09:05:38

标签: angular typescript rxjs

Angular文档讲的是" throwError"导入语句如下所示的类

import { Observable, throwError } from 'rxjs';

但我的编译器无法找到该类并且抱怨以下错误消息

  

src / app / shared / services / myservice.service.ts(3,10)中的错误:错误   TS2305:模块'" D:/ workspace / dev / MyProject / node_modules / rxjs / Rx"'没有导出的成员' throwError'。

以下是我的环境详情

Angular CLI: 1.6.8
Node: 8.11.1
OS: win32 x64
Angular: 5.2.8
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, platform-server, router

@angular/cdk: 5.2.4
@angular/cli: 1.6.8
@angular/material: 5.2.4
@angular/service-worker: 1.0.0-beta.16
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.4.5
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.8
@schematics/angular: 0.1.17
typescript: 2.4.2
webpack: 3.10.0

我错过了什么?

3 个答案:

答案 0 :(得分:13)

您在寻找#ifdef USE_FLOATING_POINT #include <some_file.h> #else #incude <anotherfile.h> #endif 可观察物吗?

_throw

更新

您正在查看Angular 6文档,其中包含import {_throw} from 'rxjs/observable/throw'; 版本6,其中包含rxjs函数。对于Angular 5(包括throwError 5),请使用rxjs

答案 1 :(得分:5)

之所以这样做,是因为我不喜欢使用以_开头的单词

import { _throw as throwError } from 'rxjs/observable/throw';

答案 2 :(得分:0)

有RxJS文档。链接 - &gt; https://github.com/ReactiveX/rxjs/blob/master/doc/pipeable-operators.md

因为throw是一个关键词,您可以在_throw后使用import { _throw } from 'rxjs/observable/throw'

或者,如果您不想在_中使用前导_throw,则可以执行以下操作:

import { ErrorObservable } from 'rxjs/observable/ErrorObservable';
...
const e = ErrorObservable.create(new Error('My bad'));
const e2 = new ErrorObservable(new Error('My bad too'));