Typescript常量返回空



工作:

export interface PlayersResponse {
status: number;
maxplayers: number;
online: number;
players: string[];
}
const getPlayers = async (uuid: string): Promise<PlayersResponse> => {
const { data } = await http.get(`/api/client/servers/${uuid}/status`);
return (data.data || []);
};

不工作:

export interface PlayersResponse {
status: number;
maxplayers: number;
online: number;
players: string[];
}
const getPlayers = async (uuid: string): Promise<PlayersResponse> => {
if(uuid === "") return [];
const { data } = await http.get(`/api/client/servers/${uuid}/status`);
return (data.data || []);
};

为什么?如果uuid为空,我需要在getPlayers上不返回任何内容(空)。我该怎么做?谢谢我尝试:return;return [];但每次出现错误

类型"never[]"在类型"PlayersResponse"中缺少以下属性:status,maxplayers,online,players

不能只返回[],因为getPlayers的返回类型是Promise<PlayersResponse>

一种方法如下:

const getPlayers = async (uuid: string): Promise<PlayersResponse | null> => {
const { data } = await http.get(`/api/client/servers/${uuid}/status`);

if (data == null) {
return null;
}  
return data.data;
};

最新更新