我有一个包装器,它捕获一个promise的最后结果,格式化它并输出数据:
req.resolve = (promise) => {
return promise.then(() => {
res.json(req.user);
}).catch(Sequelize.ValidationError, err => {
// respond with validation errors
return res.status(422).send(err.errors);
}).catch(err => {
// every other error
return res.status(400).send({ message: err.message });
});
};
在一个视图中,我没有承诺,所有发生的事情是auth-function触发器添加req.user并触发done()
。
我尝试添加这样的承诺,但它没有得到解决。
app.get('/user/me', auth,
(req, res, next) => {
req.resolve(new Promise());
});
答案 0 :(得分:33)
Promise
构造函数需要执行函数作为参数。将Promise.resolve()
替换为new Promise()