我们在项目中使用 typescript 泛型,但似乎当我们在基类中使用它们作为返回类型(例如 PromiseLike)时,它会得到 PromiseLike<{}>。
我创建了一个小应用程序来重现错误:https://github.com/ssachtleben/typescript-generics-problem
有人可以检查一下它是否是我们的泛型处理中的错误或 typescript 中的错误吗?
太棒了。
谢谢, 塞巴斯蒂安
最佳答案
编译器无法推断您对 accountService.findOne 的调用中的类型,因此它默认为“any”。您必须自己提供。
return new AccountService().findOne<Account>({}).then(account => account.username);
您应该在 AccountService 中提供一个名为 findAccount 的方法来为您执行此操作,这样调用者就不必担心它。
public findAccount(id: number): PromiseLike<Account> {
return this.findOne<Account>({ id: id }); //example
}
关于javascript - Typescript 泛型未返回正确的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41768285/