【发布时间】:2018-01-07 04:05:32
【问题描述】:
我正在 Typescript 中为管理仪表板编写一些函数,这些函数将返回具有特定值(通常是字符串)的承诺。
我正在使用 VS Code,当我在调用它时将鼠标悬停在函数名称上时,它会显示返回值的类型(字符串、数字等)。 我还想显示一个名称和类型,并且想知道最好的方法是什么。
目前,我正在返回一个对象,该对象的属性具有显式名称和旁边的类型。
例子:
通常,你会这样写:
function normalizeCarMake (carMake: string):Promise<string> {}
我是这样写的:
function normalizeCarMake (carMake: string):Promise<{carMake: string}> {}
这样当我将鼠标悬停在 VS Code 中的函数调用上时,它会显示:
(alias) normalizeCarMakePromise(driverCarMake: string): Promise<{
carMake: string;
}>
有没有更好的方法来实现这个结果?我不想让只返回一个值的所有承诺返回变得复杂。
【问题讨论】:
-
我不认为
string等同于{carMake: string}。第一个是string,第二个是object,其中包含名称为carMake的属性,其本身的类型为string。 -
唯一的字符串和包含字符串的对象是有区别的。
-
我认为在您的情况下,最好的方案是将
string包装在单独的class中并返回它而不是纯字符串。这样你就可以实现你想要的,但这也是最佳编码标准的好习惯 -
我所说的将
string包裹在class中的意思基本上是这样做的:export class CarMake { constructor(public carMake: string) {} }
标签: typescript types promise