lint问题-禁止使用非箭头功能



以下是一些代码,我们正面临lint问题:-

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

我在代码的第二行遇到了两个lint问题。第一个是";非箭头功能被禁止";。我们不想删除lint规则来消除这个错误。

第二次皮棉问题是";类型文字只有一个调用签名-使用'new(…args:any[](=>"{}"。

我无法解决这些问题。我尝试了几件事,但都解决不了。这些问题对我来说是新鲜事。

您正在使用语法return function定义一个新函数,第一条规则断言您应该使用箭头函数。

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

请参阅此处的箭头功能文档

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

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

如果你用这个片段替换你发布的代码,会出现错误吗?

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

最新更新