当前打字稿错误有以下样式:
Argument of type '({}: {}) => IterableIterator<SimpleEffect<"TAKE", TakeEffectDescriptor> | SimpleEffect<"CALL", CallEffectDescriptor> | SimpleEffect<"PUT", PutEffectDescriptor<Action<Success<any, any>>>>>' is not assignable to parameter of type '{ context: {}; fn: (this: {}, ...args: any[]) => any; }'.
我们该如何改善它,使其更易读,我的意思是甚至简单地
Argument of type
'({}: {}) => IterableIterator<SimpleEffect<"TAKE", TakeEffectDescriptor> | SimpleEffect<"CALL", CallEffectDescriptor> | SimpleEffect<"PUT", PutEffectDescriptor<Action<Success<any, any>>>>>'
is not assignable to parameter of type
'{ context: {}; fn: (this: {}, ...args: any[]) => any; }'.
足够了。
答案 0 :(得分:1)
据我所知,错误消息的格式不可自定义。有一个old, closed issue要求这样做,但是答案只是为了使它能够使IDE在使用现有消息时表现更好。
类似的情况是,a more recent, open issue要求使冗长的错误消息可折叠和扩展。同样,这仅在IDE内部才有意义,这里的相关工作在an issue for VSCode中。通常,趋势是使IDE在面对复杂的错误消息时表现出不同的行为,而不是尝试操纵错误消息的字符串表示形式。
在某些情况下,格式化现有错误消息的方法也无济于事,并且您想使用完全自定义的错误。在这种情况下,an open feature request提出了一种Invalid<T>
之类的“无效”类型,如果您尝试使用它,将会导致编译器错误,并会输出由类型{{ 1}}。
如果有任何未解决的问题对您有用,您可能想要去那里给他们一个?和/或描述您的用例,如果它比已列出的更有吸引力。或者,如果没有,您总是可以open a new feature request要求它。
无论如何,希望对您有所帮助。祝你好运!