TypeScript具有不同实现的相同函数参数类型



我正在尝试创建一个函数,该函数遍历ioredis客户端列表,并将提供给所有客户端的数据写入其中,目前,函数实现如下所示:

public writeAll(args: any) {
return this.clients.map((client) => client.set.apply(this, args));
}

但是正如您已经看到的,实现有两个问题:

  1. 不可能在作为输入传递的参数中进行类型检查。(理想情况下,我希望保留与ioredis set函数相同的类型,但只是实现不同(
  2. 参数需要作为数组提供

是否可以将ioredis的参数类型复制到此函数,而不将参数作为数组获取?

使用rest参数和内置的Parameters类型:

public writeAll(...args: Parameters<Redis["set"]>) {
return this.clients.map((client) => client.set.apply(this, args));
}

游乐场

相关内容

  • 没有找到相关文章

最新更新