ngAfterViewInit(){
Observable.interval(3000).timeInterval().subscribe()=>{};
}
尝试调用Observable.interval()方法会引发编译器错误 “可观察类型中不存在属性间隔”。
编辑
import { Observable } from 'rxjs/Observable';
请注意,已包含import语句
答案 0 :(得分:19)
对于RxJS 6+,Tomasz Kula给出的答案仅适用于使用rxjs-compat
包时,该包仅在将应用程序从RxJS 5转换为RxJS 6的过程中使用。
在RxJS 6+中,使用:
import { interval } from 'rxjs';
interval(3000).subscribe(x => /* do something */)
请注意,以前存在于Observable
类型的任何Observable
创建功能现在都应从'rxjs'
导入。
答案 1 :(得分:4)
对于rxjs 5.5.2+它是:
import { interval } from 'rxjs/observable/interval';
用法:
interval(3000).subscribe(x => // do something)
答案 2 :(得分:2)
这对于angular 6.1。+和rxjs 6.2。+都是正确的
import { Observable } from 'rxjs';
import { interval } from 'rxjs';
interval(1000).subscribe(
(value: number) => {
this.secondes = value;
},
(error: any) => {
console.log('error');
},
() => {
console.log('observable completed !');
}
);
答案 3 :(得分:0)
import { Observable } from 'rxjs';
import { interval } from 'rxjs';
import { takeWhile } from 'rxjs/operators';
// here 20 (secs) is a reference till when it will get completed
interval(1000).pipe(takeWhile(value => value < 20)).subscribe(
(value: number) => {
this.secondes = value;
},
(error: any) => {
console.log('error');
},
() => {
console.log('observable completed !');
}
);
这是有关退订的答案。