【发布时间】:2022-04-11 01:27:13
【问题描述】:
在使用 NgRX 8 时,我和我的同事在实现效果时经常遇到奇怪的错误消息。
类型 'Observable
' 不可分配给类型 'Observable | ((...args: any[]) => Observable )'
这与类型问题有关。消息如此不具体,并且标志着完整的效果,这真的很烦人。这个问题经常出现,真的很难解决。
我们想知道是否可以采取一些措施来快速识别问题,或者我们是否能够以某种方式解构信息。我不是在这里寻找特定的解决方案,而是更多地寻找“如何快速确定问题所在”的程序。
感谢和欢呼!
可能性的集合
这是我们迄今为止所做的,也是来自 cmets 和答案的想法。
- 在大多数情况下,操作可能不是问题
-
switchMap参数的解构可能是错误的 - 其中一个 RxJS 运算符未导入
- 服务中的错误参数和返回值可能是原因
- 服务和操作类型不一致也可能是原因
- 如果没有任何帮助并且您确定,没有任何问题:重新加载 TypeScript
我们仍然希望找到一个技巧来分解错误消息。
【问题讨论】:
-
addComment是什么? -
addCommentFailed/of(addCommentFailed)的类型是什么? -
解决这个问题并不重要,但要以某种方式获得一个通用的方法来处理这个错误。
addComment是createAction方法的返回,可能不是问题所在。failed和success方法也是createAction生成的操作。failed不是这里的问题,尽管我没有将失败的操作作为函数执行。 -
我在本地重新创建了它,没有收到任何错误。您是否检查过您的编辑器工作区是否使用项目打字稿版本?有时 VSCode 开始使用全局安装的 TS 版本。
-
在ofType参数中,需要将其传递为${your action}.type,如果action是通过
createAction创建的
标签: angular typescript ngrx angular8