管道错误-无法将Observable <any>分配给类型Observable <number>

时间:2018-09-05 01:52:17

标签: typescript rxjs observable

为什么在下面的代码中返回interval(500)会引发以下类型错误?

const source = timer(0, 5000);
const example = source.pipe(switchMap(() => interval(500)));
const subscribe = example.subscribe(val => console.log(val));

StackBlits

  

类型'UnaryFunction ,Observable >'的参数不能分配给类型'OperatorFunction'的参数。

     

参数“源”和“源”的类型不兼容。

     

类型'Observable '不能分配给类型'Observable '。

     

属性“源”受保护,但类型“可观察的”不是从“可观察的”派生的类。

这是在Learnrxjs.io上找到的第一个switchMap example

1 个答案:

答案 0 :(得分:1)

问题在于lock.lock()被定义为发出数字值。因此,timer还将假设将发射数字值。但是,source不对返回的可观察对象将发射的类型进行任何假设(因此switchMap)。这意味着您的来源从发出数字到根本不发出任何东西。

一个简单的解决方案是

any