根据这篇文章
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'
});
但是,如果您在TypeScript游乐场中尝试此操作:
它说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
会缺少什么?
答案 0 :(得分:3)
lib.es6.d.ts 未与spec完全一致。
您应该在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;
}
答案 1 :(得分:0)
ErrorEvent是从Event扩展的类型,并在内部使用ErrorEventInit。这是宣言 https://github.com/microsoft/TSJS-lib-generator/blob/master/baselines/dom.generated.d.ts#L5410
尝试一下-
[["a", "b"], ["l", "m"]]