Angular4中使用RxJS Observable的scan运算符 Operator '+' cannot be applied to types '{}'异常

前端之家收集整理的这篇文章主要介绍了Angular4中使用RxJS Observable的scan运算符 Operator '+' cannot be applied to types '{}'异常前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

RxJS当前的官方例子

Rx.Observable.fromEvent(button,'click')
  .scan(count => count + 1,0)
  .subscribe(count => console.log(`Clicked ${count} times`));


我在angular测试这个例子
        Observable.fromEvent(this.button.nativeElement,'click')
            .throttleTime(1000)
            .scan(count => count + 1,0)
            .subscribe(count => console.log(`Clicked ${count} times`));

这个段代码中的 count => count + 1抛出

Operator '+' cannot be applied to types '{}'

因为angular4使用的是TypeScript,所以在当前使用的RxJS中,需要指定scan运算符中count的数据类型

因此,更改为.scan((count:number) => count + 1,0)

全部代码如下所示

        Observable.fromEvent(this.button.nativeElement,'click')
            .throttleTime(1000)
            .scan((count:number) => count + 1,0)
            .subscribe(count => console.log(`Clicked ${count} times`));

猜你在找的Angularjs相关文章