繁体   English   中英

在 function 的 typescript 中声明 promise 类型

[英]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 | nullgetSomething function 将无法正确输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM