30
votes

I'm trying to use the interval method of an observable but I keep getting the error

 Property 'interval' does not exist on type 'Observable<any>'.

I added these imports:

import "rxjs/Rx";
import "rxjs/add/observable/interval";
import "rxjs/observable/IntervalObservable";
5

5 Answers

94
votes

You need to import the Observable class this way to be able to use the interval method:

import {Observable} from 'rxjs/Rx';

or

import {Observable} from 'rxjs/Observable';
import 'rxjs/add/observable/interval';
20
votes

If you want to create an interval (Observable) with rxjs v6.2.1:

import { interval } from 'rxjs';
// instead of:
// import { Observable } from 'rxjs/Observable';
// import 'rxjs/add/observable/interval';

const counter = interval(1000); 

// instead of:
// const counter = Observable.interval(1000);
1
votes

It's possible too, for:

"rxjs": "6.3.3"
"rxjs-compat": "^6.5.5"

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

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

  constructor() { }

  ngOnInit() {
    const myNumber = interval(1000);
    myNumber.subscribe(
      (number: number) => {
        console.log(number);
      }
    );
  }

}
0
votes

import {Observable} from 'rxjs/Observable';
import 'rxjs/Rx'

  printX:number;
  ngOnInit() {
    const myInterval = Observable.interval(1000);
    myInterval.subscribe((x : number)=>{
      this.printX=x;
    });

    }
0
votes
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/interval';
//This would help 'rxjs/add/observable/interval'
//import interval from 
ngOnInit() {
    const myNumber = Observable.interval(1000);
    myNumber.subscribe(
      (number: number) => {
        console.log(number);
      }
    );