从承诺Sequelize返回值

时间:2017-03-28 13:00:20

标签: node.js sequelize.js

我正在与Sequelize合作,但我很难让我的请求回归。

这是我到目前为止所得到的:

var m = Messagem.findAll({}).then((mensagens)=>{
console.log(mensagens); //  i have a reponse :D
return mensagens;
});

console.log(m);

Promise {
_bitField: 2097152,
_fulfillmentHandler0: undefined,
_rejectionHandler0: undefined,
_promise0: undefined,
_receiver0: undefined,
_boundTo: Messagem }

我做错了什么?

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您无法从promise解析处理程序返回值 (好吧,你可以,但这将是.then()方法本身返回的承诺的解决或拒绝的结果,就像在这个例子中一样。)

在您的情况下,m是一个承诺,因此您需要使用它。而不是:

console.log(m);

你必须这样做:

m.then(console.log);

或者这个:

console.log(await m);

如果您在使用async关键字声明的函数内部。

有关详细信息,请参阅this answer。另请参阅other answers about promises

相关问题