2016-12-02 36 views
4

根據這個帖子如何在TypeScript中創建ErrorEvent?

How to properly initialize en ErrorEvent in javascript?

您應該能夠創建此代碼EventError

var error = new ErrorEvent('oh nose', { 
    error : new Error('AAAHHHH'), 
    message : 'A monkey is throwing bananas at me!', 
    lineno : 402, 
    filename : 'closet.html' 
}); 

但是,如果你嘗試這種在打字稿操場:

https://www.typescriptlang.org/play/#src=var%20error%20%3D%20new%20ErrorEvent('oh%20nose'%2C%20%7B%0A%20%20%20%20error%20%3A%20new%20Error('AAAHHHH')%2C%0A%20%20%20%20message%20%3A%20'A%20monkey%20is%20throwing%20bananas%20at%20me!'%2C%0A%20%20%20%20lineno%20%3A%20402%2C%0A%20%20%20%20filename%20%3A%20'closet.html'%0A%7D)%3B它說Supplied parameters do not match any signature of call target.

即使這個簡單的例子不能編譯:

var error = new ErrorEvent('oh nose'); 

我曾嘗試通過查看類型定義

https://github.com/Microsoft/TypeScript/blob/master/lib/lib.es6.d.ts#L9612

弄明白但不能弄明白。

在TypeScript中創建完全合法的EventError時缺少了什麼?

回答

3

lib.es6.d.tsspec不完全對齊。

您應該TypeScript's github登錄的問題,但暫時可以編輯lib.es6.d.ts包括修復:

// add this interface 
interface ErrorEventInit { 
    // ...put the properties here... 
} 

// edit this declare var's new signature 
declare var ErrorEvent: { 
    new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent; 
    prototype: ErrorEvent; 
} 
相關問題