typescript - 如何指定 `SagaIterator` 效果返回类型
问题描述
我有一个SagaIterator
如下:
function* myStringSagaIterator(): SagaIterator {
/* Safely create and yield some effects */
return 'done!';
}
然后我执行上面的,比如说,在另一个SagaIterator
:
function* runStuff(): SagaIterator {
const result: number = yield call(myStringSagaIterator); // No error!
}
以上不会导致类型错误,即使myStringSagaIterator
总是会返回string
- 更好的是,总是会返回'done!'
。这是因为SagaIterator
在内部显式地将效果结果键入到any
.
有什么方法可以使这种类型安全吗?
解决方案
检查这个正在进行的线程,tldr;这是打字稿限制
推荐阅读
- css - Internet Explorer - CSS box-Shadow on table 不适用于 IE 浏览器
- ios - 克隆 repo 后 pod 出错
- scala - EMR 集群上的 spark Join 性能
- java - Vaadin - 在图像顶部添加文本
- grails - 运行单个集成测试/单个测试类
- nlp - 如何在没有文档上下文的情况下对 spacy 文本进行去标记?
- ios - UIViewController 的委托函数决定弹出
- php - 如何将 SPL 库添加到 PhpStorm 中,以便它识别 PHPDoc 的 SPL 异常
- .net - 使用 LINQ 选择 XML 节点
- c# - 使用 async-await 并行多线程下载