布尔值的返回类型?

时间:2020-09-06 17:25:57

标签: javascript node.js typescript

当fetchData也可能返回false时,是否需要在Typescript中声明布尔提示?如果是这样,我该怎么办?

例如:

async function fetchData(uuid): Promise<Item> {
    const result = await axios.get('http:///wwww.url-site.com/id/' + uuid);

    if (result.data.Status === "none") {
      return false;
    }

    return result.data
}

//用法

const data : Item = await fetchData(id);

我得到一个错误:

类型'boolean'不能分配给类型'Item'。

1 个答案:

答案 0 :(得分:3)

使用union type表示返回了Itemboolean

async function fetchData(uuid): Promise<Item | boolean> {
    ...
}

也就是说,通常返回null而不是false来表示没有值:

async function fetchData(uuid): Promise<Item | null> {
    ...
}