当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'。
答案 0 :(得分:3)
使用union type表示返回了Item
或boolean
:
async function fetchData(uuid): Promise<Item | boolean> {
...
}
也就是说,通常返回null
而不是false
来表示没有值:
async function fetchData(uuid): Promise<Item | null> {
...
}