[英]declare promise type in typescript of a function
我在某处看到这段代码,只是好奇,为什么需要在返回类型中指定Promise
? 是不是 function 返回数据是 object? 什么是| null for
| null for
?
const getSomething = async (
id: string
): Promise<UserData | null> => {
try {
const { data } = await axios.get(
`${API}/user?id=${id}`
);
return data;
} catch (err) {
if (err.response) {
return err.response.data;
}
return null;
}
};
异步函数总是返回 Promises - 这样,异步await
可以在 function 内部等待,结果可以在 function 外部使用。
在这里, getSomething
尝试从 axios 调用中检索数据。 如果调用成功,则只返回数据:
return data;
但如果调用不成功,它将返回以下内容之一:
if (err.response) {
return err.response.data;
}
return null;
如果axios
调用抛出,并且没有err.response
属性,则将返回null
。 如果您遗漏了| null
| null
, getSomething
function 将无法正确输入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.