相关疑难解决方法(0)

我可以在Typescript中重用函数的参数定义吗?

我想捕获一个函数的编译时参数结构,该结构可以在具有相似签名的多个函数定义中重用。我认为这可能是沿着线的这个TS问题也许更具体的这一个,但我不知道我的使用情况不一定行了这些提案,所以它可能是可能做到这一点在目前的打字稿。我想做的是这样的:

type FooArgs = ?{x: string, y: number}?; // syntax?
class MyEmitter extends EventEmitter {
  on(event: "foo", (...args: ...FooArgs) => void): this;
  emit(event: "foo", ...args: ...FooArgs): boolean;
}
Run Code Online (Sandbox Code Playgroud)

这可能不是最明智的方法。我也很高兴学习将“一种方法”的参数列表“复制”到另一种方法的其他方法:

class MyEmitter extends EventEmitter {
  emit(event: "foo", x: string, y: number): boolean;
  on(event: "foo", (argumentsof(MyEmitter.emit)) => void): this;
}
Run Code Online (Sandbox Code Playgroud)

但我认为不存在任何此类关键字/内置关键字。

顺便说一句,我尝试了一种类似于本文早期示例的方法,但是即使使用了稍后描述的所有复杂类型操作,该方法也只允许发出零个或一个参数的事件。我希望对于这种有限的用例,可能会有更聪明的方法。

typescript

3
推荐指数
1
解决办法
784
查看次数

标签 统计

typescript ×1