javascript - 返回一个 Promise,因为异步函数默认返回一个 Promise
问题描述
async add(model: IUser): Promise<User | null> {
const { username, role, password, email } = model;
const user = new User();
user.username = username;
user.role = role;
user.password = password;
user.email = email
const userRepository = getRepository(User);
try {
const savedUser = await userRepository.save(user);
return savedUser;
} catch (e) {
console.log(e);
return Promise.reject(new APIError('User Already exists', Err.EmailAlreadyExists));
}
上面的代码用于将用户数据保存到 mysql 数据库中。它工作得很好。但是返回 Promise 的目的是什么,因为默认情况下异步函数返回一个 Promise
解决方案
但是返回 Promise 的目的是什么,因为异步函数默认返回一个 Promise
没有目的。实际上,
return Promise.reject(new APIError('User Already exists', Err.EmailAlreadyExists));
相当于
throw new APIError('User Already exists', Err.EmailAlreadyExists);
推荐阅读
- android-studio - Android Studio 占用大量内存
- javascript - React - 将道具传递给孩子
- php - 第一个 PHP 表单似乎不起作用
- python - 未能在我的网络抓取工具中执行“显示更多评论”
- python - 如何在 Pandas 中读取 Excel,保持没有 NaN 的混合类型列?
- github - 在合并之前请求用户进行(某种)流程验证
- jenkins - 詹金斯文件 | 多分支管道
- ruby-on-rails - Rails API / react / axios 下载损坏的文件
- sql-server - 页面拆分时的读取一致性
- react-native - 在 React Native 中停止 setInterval