皮棉问题-打字稿-禁止使用非箭头功能

问题描述

以下是一些代码,我们面临着皮棉问题:-

export function TakeUntilDestroy(destroyMethodName = 'ngOnDestroy') {
    return function <T extends { new(...args: any[]): {} }>(constructor: T) {
      // some code
      }
}

我在代码第二行遇到了两个皮棉问题。第一个是“禁止非箭头功能”。我们不想删除掉毛规则以摆脱此错误。

第二个皮棉问题是“类型文字只有一个呼叫签名-请改用'new(... args:any [])=> {}'。

我无法解决问题。我尝试了几件事,但无法解决相同问题。这些问题对我来说是新的。

解决方法

您正在使用语法return function定义一个新函数,第一个规则要求您应改用箭头函数。

return <T extends { new(...args:any[]): {} }>(constructor: T) => {

See documentation on arrow functions here

第二个错误与您的通用类型T有关。看起来这也需要箭头函数,即

return <T extends { new(...args:any[]) => {} }>(constructor: T) => {

如果您用此代码段替换发布的代码,是否会显示错误消息?

export function TakeUntilDestroy(destroyMethodName = 'ngOnDestroy') {
    return <T extends { new(...args: any[]) => {} }>(constructor: T) => {
      // some code
    }
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...