如何提高打字稿错误的可读性?

时间:2019-06-25 21:33:37

标签: typescript

当前打字稿错误有以下样式:

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; }'.

足够了。

1 个答案:

答案 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要求它。

无论如何,希望对您有所帮助。祝你好运!