从RXJS 5迁移到6-IntervalObservable

时间:2018-08-04 19:08:28

标签: angular rxjs

我从RXJS 5.x更新到RXJS 6.2.2,并且在解决迁移错误时遇到问题。

RXJS 6中是否不再有IntervalObservables?我在以下角度分量中使用了IntervalObservable

import {Component, OnInit} from '@angular/core';
import {IntervalObservable} from 'rxjs/observable/IntervalObservable';

@Component({
  selector: 'app-date-time-display',
  templateUrl: './date-time-display.component.html',
  styleUrls: ['./date-time-display.component.css']
})
export class DateTimeDisplayComponent implements OnInit {

  constructor() {
  }

  today = Date.now();

  ngOnInit() {
    IntervalObservable.create(1000)
    // .takeWhile(() => this.alive) // only fires when component is alive
      .subscribe(() => {
        this.today = Date.now();
      });
  }
}

当我运行“ ng serve”或“ ng build”时,出现以下错误:

Module not found: Error: Can't resolve 'rxjs/observable/IntervalObservable' in 'C:\Users\Daniel\Documents\IMA\Porsche_lack\git\webapp\porsche-lack-tracking\src\app\date-time-display'
i 「wdm」: Failed to compile.
ERROR in node_modules/rxjs/observable/IntervalObservable.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/observable/IntervalObservable'.

仅供参考:我之前运行过rxjs-tslint auto update rules命令,但没有发现任何迁移问题!

3 个答案:

答案 0 :(得分:2)

foo f = {};
f.u.ss1 = {
    .i1 = 0;
}

rxjs 6 interval

答案 1 :(得分:0)

您可以这样:

pipeline {
    agent none
    stages {
        stage('Build') {
            agent {
                docker {
                    image 'python:3-alpine'
                }
            }
            steps {
                withEnv(["HOME=${env.WORKSPACE}"]) {
                    sh 'pip install --user -r requirements.txt'
                    sh 'python WebChecker.py'
                }
            }
            post {
                always {
                    junit 'output.xml'
                }
            }
        }
    }
}

答案 2 :(得分:0)

您可以使用从角度8开始的rxjs间隔。

  import { interval, Observable } from 'rxjs';

  ngOnInit() {
    const TEN_MINUTES = 600000;

    interval(TEN_MINUTES).subscribe(() => {
      this.refreshSession();
    });
  }