这些接口是否相同

时间:2020-11-08 18:58:12

标签: javascript typescript

我仍在尝试使用typesecript编写相同内容的多种方法。 但是,我不确定它们是否相同,但是我是否会得到相同的结果,因此想知道是否存在我没​​有得到的细微差别或仅仅是打字稿的混淆。

第一种方式:

export default interface IApiService {
  send: (url: string) => Promise<string>;
}

编写界面的第二种方式

export default interface IApiService {
  send(url: string): Promise<string>;
}

我的功能本身。

  public send = async (url: string) => {
    return fetch(url).then((response) => {
      return response.json();
    });
  };

1 个答案:

答案 0 :(得分:2)

是的,您可以在参数和返回类型之间使用=>:声明函数的类型-它们的含义完全相同。即使在JavaScript中,箭头函数与标准函数或方法都大不相同,但对于TypeScript而言,可以使用任何一种方式定义函数的类型。

另外,请注意,由于send方法不使用await,因此可以从其定义中删除async