【问题标题】:How to use rxjs 5.5.2 imports如何使用 rxjs 5.5.2 导入
【发布时间】:2017-12-05 11:05:50
【问题描述】:

我不明白应该如何导入 RXjs 运算符。

看看这个简单的代码。

import 'rxjs/add/operator/filter';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/debounce';

ngOnInit() {
    const temp_observable = this.store.select(state => state.accounts.pendingRequests)
      .filter(x => !!x)
      .map(x => x +1 )
      .debounce(x => Observable.timer(300));
}

但我不断得到:

ERROR TypeError: this.store.select(...).filter(...).map(...).debounce is not a function

当我使用导入时也会发生同样的事情:

import {map, filter, debounce} from 'rxjs/operators';

但是,如果我将代码更改为使用 Observable.of,它会起作用-

const temp_observable = Observable.of(this.store.select(state => state.accounts.pendingRequests))

有没有更简单的方法来解决这个问题? 我可以在 main.ts 中导入常用运算符,而不用担心每个 .ts 文件吗?

rxjs 5.5.2 角度 5.0.3 角度还原 6.0.1 节点 8.9.1

【问题讨论】:

    标签: angular redux rxjs


    【解决方案1】:

    自从引入 pipeable(以前 lettable)运算符以来,使用建议发生了一些变化。试试这个代码 sn-p -

    import { debounce, filter, map } from 'rxjs/operators';
    
    ngOnInit() {
      const temp_observable = this
        .store.select(state => state.accounts.pendingRequests)
        .pipe(
          filter(x => !!x),
          map(x => x +1 ),
          debounce(x => Observable.timer(300))
        );
    }
    

    希望这会有所帮助。

    【讨论】:

    猜你喜欢
    • 2018-05-22
    • 1970-01-01
    • 2018-04-22
    • 2017-04-28
    • 2018-06-26
    • 2020-12-08
    • 2019-06-28
    • 2017-11-28
    • 2019-10-01
    相关资源
    最近更新 更多