javascript - 流无法分配函数,因为属性 abort 不可写

标签 javascript flowtype

我正在使用 Flow 最新版本 (0.75.0),但找不到覆盖 abort 的方法。没有 Flow 提示的方法

interface Inter {
  abort(): void;
  done(): void;
}

class Hello implements Inter {
   abort() {}
   done(){}
}

let h = new Hello();

h.abort = function() {}

错误如下。
../-:15: h.../ abort = function() {}
           ^ Cannot assign function to `h.abort` because property `abort` is not writable.

https://flow.org/try/#0JYOwLgpgTgZghgYwgAgJLmsg3gKGcgajgCMB7KMALmQDEBXEBMYUkAbj0IBNWJr7GzVhwC+OcQgA2cAM4zkACQiTJpZMAC2AB0kQNEcPPSQo2cfmQlyYABQBKbGIs8QEe1jFicusMgAWyAC8yK4A7orKqvYcOH4AdFYUQcgwDEwsIPaOQA

最佳答案

正如 Mark 所指出的,用 (h: any) 包装实例解决了这个问题。它并不完美,但要避免错误。

let h = new Hello();

(h: any).abort = function() {}

关于javascript - 流无法分配函数,因为属性 abort 不可写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51226868/

相关文章:

javascript - 迭代 HTMLFormElement 元素时正确的 Flow 类型?

javascript - 流 - 无法调用 `data.map`,因为 `map` [1] 中缺少属性 `FetchData`

javascript - Javascript中的else循环?

javascript - 如何在更新/不警告框上从下弹出消息窗口

javascript - 如何在不流过帧的情况下在帧图像内渲染屏幕截图/图像?

javascript - 'A' 属性 (Array<prop>) 的可能值对值 'B' ([prop : string]: any)

javascript - 获取 HTML5 范围 slider 句柄的偏移位置

javascript - Socket.IO 不会响应

javascript - 是否可以在 Flow 中导入对象的推断类型?

javascript - 在 Rollup 中,创建除 Flow 之外不进行 babel 转译的 ESM 模块