【问题标题】:Module not found ..Cannot resolve module 'rxjs/operators/toPromise with Angular6找不到模块..无法使用 Angular6 解析模块 'rxjs/operators/toPromise
【发布时间】:2018-06-17 21:07:30
【问题描述】:

我在尝试使用 Angular 6 构建我的应用程序时收到错误消息,但不知道该怎么做。

模块 rxjs 未找到 see this

Module not found ..Cannot resolve module 'rxjs/operators/toPromise  

我该怎么办?

//contact.service.ts

import { Injectable } from '@angular/core';
    import { Contact } from './contact';
    import { Http, Response } from '@angular/http';
    import 'rxjs/add/operator/toPromise';

    @Injectable()
    export class ContactService {
      private contactsUrl = '/api/contacts';
      constructor (private http: Http) {}
 .......
    }

【问题讨论】:

  • 你能检查一下package.json你安装了什么rxjs版本吗?
  • "rxjs": "^6.0.0",
  • toPromise 不再是运算符,您应该可以直接作为 Observable 方法访问,您可以简单地删除它应该工作的导入
  • @AbineshDevadas 是对的!这就是问题的答案。您应该将此作为答案发布。

标签: angular angular6


【解决方案1】:

尝试删除导入语句。没有它应该可以工作。下面的代码有效。

new Observable().toPromise();

从 rxjs 5.5 开始,“toPromise:现在作为 Observable 上的永久方法存在”

https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md

【讨论】:

    【解决方案2】:

    从 rxjs 6 开始 toPromise 不是操作符,它是 observable 对象的一部分,你应该可以直接访问而无需任何导入

    【讨论】:

      猜你喜欢
      • 2019-03-06
      • 1970-01-01
      • 2018-05-28
      • 2019-07-12
      • 2018-06-01
      • 2021-10-16
      • 1970-01-01
      • 2018-11-13
      • 2017-10-23
      相关资源
      最近更新 更多