flowtype - Flow 无法识别接受回调的回调参数内的实现类
问题描述
我有以下设置:
/* @flow */
interface ISelectable {
onSelectUntil(callback: (data : ISelectable) => void, until : (callToRemoveCallback : Function, callback: (data : ISelectable) => void) => void): void;
}
class BaseFileTile implements ISelectable {
onSelectUntil(callback: (data : BaseFileTile) => void, until : (callToRemoveCallback : Function, callback: (data : BaseFileTile) => void) => void) : void {}
}
问题是这会引发:
7: onSelectUntil(callback: (data : BaseFileTile) => void, until : (callToRemoveCallback : Function, callback: (data : BaseFileTile) => void) => void) : void {}
^ Cannot implement `ISelectable` [1] with `BaseFileTile` because `BaseFileTile` [2] is incompatible with `ISelectable` [3] in the first argument of the second argument of the second argument of property `onSelectUntil`.
References:
6: class BaseFileTile implements ISelectable {
^ [1]
7: onSelectUntil(callback: (data : BaseFileTile) => void, until : (callToRemoveCallback : Function, callback: (data : BaseFileTile) => void) => void) : void {}
^ [2]
3: onSelectUntil(callback: (data : ISelectable) => void, until : (callToRemoveCallback : Function, callback: (data : ISelectable) => void) => void): void;
虽然在第一个回调中 Flow 正确识别了BaseFileTile
它的类型ISelectable
,但在另一个回调中抛出了一个错误。这种行为是想要的还是一个错误?
解决方案
推荐阅读
- python-3.x - 在python中使用循环打印模式
- pdf - iPhone:将所有语音备忘录 + 由 Safari 页面打印生成的所有 pdf(使用“书籍”导出的 pdf)批量移动到 pc
- google-bigquery - 从 json 文件 bigquery 中提取 Json Array 元素
- python - 我正在尝试使用熊猫阅读特定的 excel 选项卡。但它正在阅读第一个标签
- angular - 如何使用 iif() 运算符正确实现条件 debounceTime() 运算符?
- javascript - 通过 ::marker 值查找 li
- python - 修改列表时的 Pyqt5 信号和槽
- python-3.x - 如何在特定日期绘制带有类别计数的 Dash 绘图图
- xml - 如何访问 if 语句 XSLT 中的嵌套元素
- php - 将 getBody() 分配给变量 Guzzle