javascript - Typescript 泛型未返回正确的类型

标签 javascript typescript

我们在项目中使用 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/

相关文章:

javascript - 如何使用 React Js 在 select 选项上显示 svg?

javascript - D3 节点重叠

Angular post 请求发送 [object Object]

javascript - 健康检查网址不起作用 : Cannot match any routes

javascript - 在模态中传递一行的 id

Javascript Css Tooltip who to Fix position 当页面结束时

javascript - 将点击事件和参数绑定(bind)到div?

javascript - 将参数传递给 TypeScript 编译器 Node 模块

typescript - 如何使用 AWS CDK 通过 ApiGateway 和 S3 设置 CloudFront?

reactjs - 通过 React useState() 处理表单数据的更好方法?