typescript - 打字稿回调参数,使用函数解析
问题描述
我有一种情况,我用一些参数调用一个函数,这些参数是使用另一个函数解决的。
这就是代码的外观。
function getArgs (): [string, number] {
return ['hello world', 22]
}
function callFnWithArgs (callback) {
callback(...getArgs())
}
callFnWithArgs(function (/* typehint here */) {
})
- 该函数
callFnWithArgs
接受一个回调,然后通过传递一些参数来执行它。 - 这些参数由另一个名为
getArgs()
.
那么,有没有办法输入提示,回调的参数,即另一个函数的返回值?
解决方案
在 TypeScript 3.0 或更高版本中,您可以使用ReturnType
标准库中的类型别名来确定 of 的返回类型,getArgs
然后使用 rest 参数将其与 的回调联系起来callFnWithArgs
:
function getArgs (): [string, number] {
return ['hello world', 22]
}
function callFnWithArgs (callback: (...args: ReturnType<typeof getArgs>) => void) {
callback(...getArgs())
}
callFnWithArgs(function (a, b) {
// a is string, b is number
})
推荐阅读
- android - 无法解析符号 newInstance
- asp.net-mvc - 我可以更新现有的已发布网站吗
- javascript - 在Javascript中减去日期
- scala - scala:带有未来的playframework控制器动作执行序列
- vim - vim:如何搜索硬编码字符串(不是正则表达式)?
- xamarin - 如何在 MvvmCross 的 TabbedPage 中添加 NavigationPage
- command - 用于搜索的窗口命令提示符
- wordpress - card-columns 正在杀死 Woocommerce 第二列中的链接
- python - pandas 无法将以下 txt 文件解析为 pandas 数据框,只有一列
- css - 将长 html 表拆分为两个或多个表