【问题标题】:Module '/node_modules/rxjs/observable/TimerObservable' has no exported member 'TimerObservable' in Angular 6Angular 6 中的模块“/node_modules/rxjs/observable/TimerObservable”没有导出成员“TimerObservable”
【发布时间】:2020-08-29 20:17:05
【问题描述】:

在将应用程序从 Angular 5 迁移到 Angular 6 时遇到错误,

Module '/node_modules/rxjs/observable/TimerObservable' has no exported member 'TimerObservable'.

代码:

import { Injectable } from '@angular/core';
import { TimerObservable } from 'rxjs/observable/TimerObservable';
import { Observable } from 'rxjs';

@Injectable()
export class TimerTestScv {

    static fetchTimer(interval: number, initialDelay: number): Observable<number>         
    {
       return TimerObservable.create(initialDelay, interval);
    }
}

使用的rxjs包:

"rxjs": "^6.2.2",

【问题讨论】:

    标签: angular6 rxjs6


    【解决方案1】:

    从 RxJS 6 开始,TimerObservable 已被替换为 timer。使用以下内容作为替代:

    import { timer } from 'rxjs';
    
    // start at time 1s and tick every 2s
    let myTimer = timer(1000, 2000);
    
    const subscription = myTimer.subscribe(() => {
        /* Do stuff here */
    })
    ...
    subscription.unsubscribe()

    【讨论】:

      【解决方案2】:

      使用timer 而不是TimerObservable

      所有可观察的类 (https://github.com/ReactiveX/rxjs/tree/5.5.8/src/observable) have been removed from v6,支持现有的或新的运营商 执行与类方法相同的操作。

      【讨论】:

        猜你喜欢
        • 2018-10-15
        • 2018-03-26
        • 2019-04-24
        • 1970-01-01
        • 2018-11-25
        • 2017-12-29
        • 2018-11-07
        • 2018-10-20
        • 2019-11-04
        相关资源
        最近更新 更多