【问题标题】:Define interface variable with only two string hardcoded values仅使用两个字符串硬编码值定义接口变量
【发布时间】:2013-08-17 23:27:54
【问题描述】:

我有以下代码:

interface ResponseFromServer {
    type:string;
    message:string;
}

如何将type 变量限制为以下两个值之一:

"success"
"error"

【问题讨论】:

  • 为什么?我假设这是某种 ajax 响应,并且您正在根据 type 值进行成功/错误处理。您不能强制服务器从客户端返回successerror。但您只能处理这两个类型值。

标签: interface enums typescript


【解决方案1】:

2013 年的答案现已弃用。

现在可以这样:

interface ResponseFromServer {
    type: "success" | "error";
    message: string;
}

【讨论】:

    【解决方案2】:

    这是不可能的。类型是关于数据的形状,而不是内容。

    【讨论】:

    • 嗯。好的,没有解决方法吗?通过使用类似的枚举?提前致谢。
    • 你可以定义 enum Responses { success, error } 并将服务器更改为只返回 0 或 1。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    • 2013-12-02
    相关资源
    最近更新 更多