【发布时间】:2018-08-04 04:53:49
【问题描述】:
我正在构建一个使用 mongoose 访问数据库的快速路由器。我目前的问题依赖于这段代码:
app.use("/authreset", (req, res) => {
authenticator
.resetPassword(
req.body.username,
req.body.password,
req.body.token,
req.body.type
)
.then((response, error) => {
if (error) throw new Error(error);
console.log('*****************');
console.log(response);
if (!response) {
res.sendStatus(401);
return;
}
})
.catch(error => {
console.log('*****************');
console.log(error);
if (error) throw new Error(error);
});
});
resetPassword 使用以下 mongoose 调用:
return UserModel
.findByIdAndUpdate(user.id, data, { new: true })
.exec();
由于某种原因,我的路由被调用并且响应很好(检查了console.log(response) inside promise)。
我的问题是响应永远不会发送回客户端,导致 fetch 调用超时。
为什么我的 promise 没有返回数据?
【问题讨论】:
-
哪个promise是用来返回数据的,它是用来把数据返回到哪里的? - 在您发布的代码中看不到任何返回数据,甚至在响应中发送数据
标签: javascript express mongoose promise express-router