将事件处理程序添加到应用程序缓存会导致编译错误



如果我将这一行添加到我的代码中

if (window.applicationCache) {
    applicationCache.addEventListener('updateready',
        window.location.reload);
}

我收到这个奇怪的错误:

/home/matej/archiv/2014/projekty/zalmy/zalmy.ts(58,22): error TS2082:
 Supplied parameters do not match any signature of call target:
    Could not apply type '"downloading"' to argument 1 which is
    of type 'string'.
/home/matej/archiv/2014/projekty/zalmy/zalmy.ts(58,22): error TS2087:
    Could not select overload for 'call' expression.
make: *** [zalmy.js] Error 1

这是怎么回事?是 tsc 中的错误吗?(使用最新的打字稿 0.9.5)。

把它包装在一个函数中:

if (window.applicationCache) {
    applicationCache.addEventListener('updateready', () => {
        window.location.reload();
    });
}

原因是事件侦听器(ev:Event)的参数与reload(布尔值)的可选参数不同

最新更新