流无法将函数分配给,因为属性中止不可写

时间:2018-07-07 20:54:42

标签: javascript flowtype

我使用的是Flow最新版本(0.75.0),我找不到没有Flow抱怨的覆盖abort方法的方法

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

1 个答案:

答案 0 :(得分:0)

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

let h = new Hello();

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