Avatar ·

如何在使用 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