创造一个刚刚实现的空洞承诺?

我有一个包装器,它可以捕捉承诺的最后结果,对其进行格式化并输出数据:

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());
});
120905 次浏览

Promise构造函数需要执行函数作为参数。用 Promise.resolve()代替 new Promise()