如何使用返回类型定义lambda函数,以后可以使用泛型

时间:2017-10-03 22:07:50

标签: typescript generics lambda

我有一个类使用泛型的类 -

export class MyClass<T>
{
    constructor( private myCallback:()=>T)
    {
        ...
    }
}

我的回调是一个lambda函数,它返回一个T类型的新对象。 我希望能够在MyClass中编写代码

let t:T = this.myCallback() ;

但是我遇到了构建错误。似乎语法在某处被破坏但我不知道在哪里。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

以下编译很好here

class MyClass<T> {
  constructor(private myCallback: () => T) {}

  thing(): T {
    const t: T = this.myCallback();
    return t;
  }
}

let s: string = new MyClass<string>(() => "hello").thing();