当前位置: 首页 > 知识库问答 >
问题:

如何在打字稿中声明函数类型

楚帅
2023-03-14

我正在处理打字稿,并将一个函数传递给另一个函数。

如果我有一个传递到typescript中另一个函数的函数,我应该如何编写类型?

我尝试了successHandler:function,但似乎不起作用。

export function useSubscription(address: string, successHandler: function) {
   successHandler(address)
}

共有3个答案

苏胤
2023-03-14

你可以这样声明:

export function useSubscription(address: string, successHandler: Function) {
   successHandler(address)
}

更改是以大写字母F表示函数

危斯伯
2023-03-14

您可以像这样使用回调函数作为强类型参数

class Menu {
    addItem(callback: (n: string) => any) : void {
        callback('Egg Roles');
    }
}
var menu = new Menu();

var itemCallBack = (result: string) : void => {
    alert(result);
}

menu.addItem(itemCallBack); 
董俊
2023-03-14

声明具有函数签名的类型,并将其作为类型传递:

type SuccessHandler = (address: string) => string;

function useSubscription(address: string, successHandler: SuccessHandler) {
    successHandler(address)
}
 类似资料:
  • 我对打字稿有点陌生,让我有点困惑的一件事是类型/接口声明。我正在编写一个库,它目前有几个类和更多的类型/接口声明。我在大多数代码中使用这些类型/接口,最初我会将它们放在 types 文件夹中的单个文件中,然后我会将它们导入到需要的任何位置,现在我在 文件夹中有一个声明命名空间类型的 ,在这个中我导出我在整个代码中使用的所有类型/接口。这种方法可以吗,或者是否有更好的方法来组织类型和接口定义?

  • 我继承了一个打字稿项目(有.ts),但我?似乎无法弄清楚如何在打字稿文件中创建一个全局变量并访问另一个。 我是打字稿的新手,所以请耐心等待。 我没有使用Angular-看到了这个链接打字稿-声明可选的全局变量 任何指针高度赞赏

  • 问题内容: 有以下代码: 显然,的调用以某种方式改变了类的属性和行为。 这是怎么发生的?如何在代码中使用这种方法? 示例代码是zope.interface模块的一部分。 问题答案: 详细的“会发生什么” 该函数检查框架堆栈并更改构造类的名称空间(python )。python语句中的所有内容都在该命名空间中执行,结果形成类主体。 该函数为类命名空间添加了额外的值,其中包含一些数据(已传递给该函数的

  • 我在这里查过了https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md这是TypeScript语言规范,但我找不到如何声明函数的返回类型。 我在下面的代码中展示了我所期望的: 我知道我可以用

  • 我是打字稿的新手。现在我正在学习课程并得到一些问题: 当我们扩展父类时,我们必须使用super()。但是,如果我想省略父构造函数,我们可以这样做或覆盖它吗? [日志]:"不要显示" [日志]:“我的名字是派生的”

  • 我的代码: 错误消息来自TypeScript(3.0)编译器: TS2322:类型“string[]”不可分配给类型“[string, string, string, string, string, string, string]”。“string[]”类型中缺少属性“0”。 如果我将字符串[]更改为只读数组 TS2322:“ReadonlyArray”类型不能分配给类型“[string,stri