使用打字稿如何定义一个类型,该类型返回带有每个值的承诺的同一对象

时间:2018-10-18 19:47:39

标签: typescript typescript-typings

我想使用这样的类型(或接口):

type FoodTable = {
  foodId: string;
  foodName: string;
};

还有一个接受类型作为通用参数的函数:

function promisifyData<T>(data): SomePromiseyData<T> {
  // code here
}

因此,如果我使用FoodTable作为泛型来调用函数:

promisifyData<FoodTable>(someParam);

// returns:
{
  foodId: Promise {}, // resolves to string
  foodName: 'some name'
}

基本上我想知道如何定义SomePromiseyData类型。

以下是我要尝试输入的链接: typescriptlang.org/play

2 个答案:

答案 0 :(得分:4)

您的data参数没有类型。它应该是T类型:

function makePromiseyData<T>(data: T) { /*...*/ }

请参见fixed version

答案 1 :(得分:1)

您需要将data参数声明为具有类型:data: T