代码之家  ›  专栏  ›  技术社区  ›  Ashok kumar

无法使用“rxjs”的“of”类

  •  0
  • Ashok kumar  · 技术社区  · 7 年前

    我已经写了 ValueService 像下面这样上课。

    import { Injectable } from '@angular/core';
    
    import { of } from 'rxjs';
    import { delay } from 'rxjs/operators';
    
    
    @Injectable()
    export class ValueService {
        protected value = 'real value';
        getValue() {
            return this.value;
        }
    
        getObservableValue() {
            return of('Observable value');
        }
    
        getPromiseValue() {
            return Promise.resolve('Promise value');
        }
    
        getObservableDelayValue() {
            //return of('Observable delay value').pipe(delay(100));
            return of('Observable delay value').pipe(delay(1000));
        }
    }
    

    但是,低于错误,无法前进。

    src/app/demo/demo.ts(3,10)中的错误:错误ts2305:module“h:/ashok/jasminelearnings/jasminepractice/node_modules/rxjs/rx”没有导出的成员“of”。

    在谷歌搜索,但没有运气。有谁能帮我解决这个问题吗,因为我没有太多同事的支持。

    4 回复  |  直到 7 年前
        1
  •  0
  •   Jonatan Dragon    7 年前

    怎么样

    import { of } from 'rxjs/observable/of';
    

    这个错误很明显。没有导出 'of' 算子在 'rxjs' .

        2
  •  0
  •   Sachila Ranawaka    7 年前

    首先,如果您是第一次使用rxjs,那么我建议您检查 package.json 对于 rxjs 附属国。

    "dependencies": {
        "@angular/animations": "^5.2.8",
        "@angular/cdk": "^5.2.5",
        "@angular/common": "^5.2.8",
        "@angular/compiler": "^5.2.8",
        "@angular/core": "^5.2.8",
        "@angular/forms": "^5.2.8",
        "@angular/http": "^5.2.8",
        "@angular/platform-browser": "^5.2.8",
        "@angular/platform-browser-dynamic": "^5.2.8",
        "@angular/router": "^5.2.8",
        "@ng-bootstrap/ng-bootstrap": "^1.0.1",
        "rxjs": "^5.5.6",
        "zone.js": "^0.8.19"
    },
    

    然后做一个 npm cache clean npm install

        3
  •  0
  •   Vikas RyanSand20    7 年前

    您必须执行以下步骤:
    1。你可以使用

    import { of } from 'rxjs/observable/of';
    

    在…的地方

    import { of } from 'rxjs';
    
    1. a.)进入工作区,然后进入项目文件夹,然后访问节点模块,检查rxjs是否存在,然后检查可观察文件是否存在。如果所有文件都存在,那么删除整个rxjs文件夹

    例如:d drive\sublime_workspace\myangularpoject\node_modules\rxjs

    b.)打开项目位置上的命令提示符并键入以下代码: NPM install rxjs 然后按回车键
    运行项目,然后检查问题是否已解决。
    d.)您也可以在同一个命令提示符上安装rxjs compat并键入以下代码

    npm install rxjs-compat
    

    按回车键并重复步骤d

        4
  •  0
  •   Vikas RyanSand20    7 年前

    尝试导入:

    import { of } from 'rxjs/observable/of';
    
    推荐文章