型定義が更新されて戻り値をnumberにしている場合型エラー起きます。
const hoge: number = setTimeout(() => {}, 300)
TimeoutID
やIntervalID
がGlobalで定義されているのでそれを使うように更新します
const foo: TimeoutID = setTimeout(() => {}, 300);
const bar: IntervalID = setInterval(() => {}, 300);
まあ、普通に推論でいいと思います。自分の場合はMap
のキーとして使っていたのでnumber
からの変更が必要でした。
const foo = setTimeout(() => {}, 300);
雑記
この変更のおかげで、clearInterval
をclearTimeout
と間違えて使っているのに型レベルで気づけました。opaque type
便利です。
参照
0.63.x regression: setTimeout() & setInterval() return types broken · Issue #5627 · facebook/flow