如何在使用 async/await 的 TypeScript 中正确 reject 一个 Promise
大家好!我最近开始学习在 TypeScript 中使用 async/await,遇到了一个问题。我有一个函数需要执行异步操作,但在某些条件下我需要返回一个错误(reject)。问题是我不知道在使用 async/await 语法时如何正确地“拒绝”一个 Promise。
这是我的代码示例:
```typescript
async function fetchUserData(userId: string): Promise {
// 如果 userId 为空,我想拒绝这个 Promise
if (!userId) {
// 这里如何正确地进行 reject?
}
const response = await fetch(`/api/users/${userId}`);
return response.json();
}
```
我知道在经典的 Promise 中可以调用 reject(),但在 async 函数中 return 会自动以 resolve 完成 Promise。我尝试过通过 throw 抛出错误,但这看起来有点别扭。有没有更正确的方法?还是说 throw 就是标准做法?
另外,我也想知道如何正确地为这类错误添加类型,以便 TypeScript