将 RxJS 5 Rx.Observable.timer(3000).mapTo({ id: 1 }) 转换为 RxJS 6?

Converting RxJS 5 Rx.Observable.timer(3000).mapTo({ id: 1 }) to RxJS 6?

我们如何转换:

Rx.Observable.timer(3000).mapTo({ id: 1 }) 

到 RxJS 6?

例如,如果我们:

 import { Observable, timer } from 'rxjs';

我们仍然得到:

[ts] Property 'timer' does not exist on type 'typeof Observable'.

总而言之,我正在尝试让这个示例 (From this tutorial) 工作:

    // Simulate HTTP requests 
    const getPostOne$ = Rx.Observable.timer(3000).mapTo({id: 1});
    const getPostTwo$ = Rx.Observable.timer(1000).mapTo({id: 2});

    Rx.Observable.concat(getPostOne$, getPostTwo$).subscribe(res => console.log(res));

使用新方法来处理可管道运算符,我们不再使用 . 来链接可观察对象,而是使用管道并传入以逗号分隔的运算符。在你的场景中我们会做的例子

import { timer, concat } from 'rxjs'
import { mapTo } from 'rxjs/operators'

  getPostOne$ = timer(3000).pipe(mapTo({ id: 1 }));
  getPostTwo$ = timer(1000).pipe(mapTo({ id: 2 }));

  concat(getPostOne$, getPostTwo$).subscribe(res => console.log(res));

您可以阅读更多关于管道运算符的内容Here

希望对您有所帮助!