TypeScript回调数组

sam*_*ime 8 arrays callback typescript

你会如何在TypeScript中声明一个回调数组?

单个回调如下所示:

var callback:(param:string)=>void = function(param:string) {};
Run Code Online (Sandbox Code Playgroud)

所以回调数组应如下所示:

var callback:(param:string)=>void[] = [];
Run Code Online (Sandbox Code Playgroud)

然而,这会产生歧义,因为我可能意味着一个回调数组,或一个返回一个空洞数组的回调.

在TypeScript游乐场中,它认为它是一个空洞数组.所以,我的下一个是将它包装在括号中:

var callback:((param:string)=>void)[] = [];
Run Code Online (Sandbox Code Playgroud)

但这也不起作用.

还有其他想法吗?

Rya*_*ugh 12

您需要使用完整类型的文字语法形式,如下所示:

var callback:{(param:string): void;}[] = [];
Run Code Online (Sandbox Code Playgroud)

这有点难看; 如果你愿意,你可以先为它命名:

interface fn {
    (param: string): void;
}
var callback2: fn[] = [];
Run Code Online (Sandbox Code Playgroud)