创造一个满足的空承诺?

Him*_*ors 32 javascript node.js

我有一个包装器,它捕获一个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 });
    });
};
Run Code Online (Sandbox Code Playgroud)

在一个视图中,我没有承诺,所有发生的事情是auth-function触发器添加了req.user和触发器done().

我尝试添加这样的承诺,但它没有得到解决.

app.get('/user/me', auth,
    (req, res, next) => {
        req.resolve(new Promise());
    });
Run Code Online (Sandbox Code Playgroud)

gue*_*314 38

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

  • `new Promise` 现在需要一个参数,请使用 `Promise.resolve()` 代替。 (12认同)
  • “空洞的诺言”是用英语说“谎言”的另一种方式。因此,从语言的角度来看,立即解决诺言更好;) (5认同)
  • Promise.resolve() 对我有用! (3认同)