【发布时间】:2017-09-25 10:10:07
【问题描述】:
我从 Promise 链接开始,我正在尝试在 node.js 中使用 express 和 mongoose 的一些代码。这是我的代码:
const register = (req, res, next) => {
User.findOne(req.params.email).exec().then(user => {
if (user) {
return res.status(409).json({ error: 409 });
}
return User.create(req.body);
}).then(user => {
const token = jwt.sign({ sub: user._id }, 'test-secret');
return res.status(200).json({ token });
}).catch(err => {
return next(err);
});
};
这是注册用户并向他发送令牌的简化代码。我要做的是,首先检查用户是否已经注册,如果没有,请注册。
如您所见,我认为第 6 行是错误的,因为我没有返回任何 Promise,所以在第 4 行之后,代码继续执行。我想避免回调地狱,我该如何做到这一点?谢谢
【问题讨论】:
标签: javascript express mongoose ecmascript-6 promise