【问题标题】:".../node_modules/rxjs/Rx" has no exported member 'throwError'“.../node_modules/rxjs/Rx”没有导出的成员 'throwError'
【发布时间】:2018-10-20 12:12:07
【问题描述】:

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

我错过了什么?

【问题讨论】:

标签: angular typescript rxjs


【解决方案1】:

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

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

【讨论】:

  • 我喜欢这个。可以简化对下一个版本的更新,因为您只需要更改导入。
【解决方案2】:

你在寻找_throw observable吗?

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

更新

您正在查看 Angular 6 文档,其中包含 rxjs 版本 6,其中包含 throwError 函数。对于 Angular 5(包括 rxjs 5)使用 _throw

【讨论】:

    【解决方案3】:

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

    因为 throw 是一个关键字,所以您可以在 import { _throw } from 'rxjs/observable/throw' 之后使用 _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'));
    

    【讨论】:

    • 您正在导入throw,但使用的是ErrorObservable。如果您不喜欢领先的_,您提供的示例是另一种选择
    • @CornelC,是的,它是另一种选择。我会更正答案。谢谢
    • @CornelC,如果您认为答案需要编辑,您也可以编辑答案。再次感谢。
    猜你喜欢
    • 2017-12-29
    • 2018-11-29
    • 1970-01-01
    • 2019-02-02
    • 2018-11-07
    • 2019-11-04
    • 2018-11-13
    • 2018-10-15
    • 2018-09-01
    相关资源
    最近更新 更多