如何在 TypeScript 的 async/await 语法中正确 reject 一个 Promise?
大家好!我开始学习 TypeScript 和 async/await,但遇到了一个问题。文档中说 async 函数总是返回 Promise。当我想成功完成一个 Promise 时,我只需返回一个值。但如何在 async 函数内部正确 reject 一个 Promise 呢?
下面是一个没有按预期工作的例子:
```typescript
async function fetchUserData(userId: string): Promise {
if (!userId) {
// 我想在这里 reject 这个 Promise 并带一个错误
return new Error('User ID is required'); // 这样不对
}
const response = await fetch(`/api/users/${userId}`);
return response.json();
}
```
我试过使用 `throw new Error()`,但我觉得这很奇怪,因为 throw 通常用于异常,而不是用于 reject Promise。我也在旧例子中看到过使用 `Promise.reject()`,但不知道如何与 async 结合使用。
请告诉我,在 async 函数中正确 reject 一个 Promise 的方法是什么?以及如何...