2017-03-28 8 views
1

私はSequelizeと一緒に作業していますが、依頼を返すのに問題があります。約束からの戻り値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 } 

は私が間違って何をやっている:

これは私がこれまでに得たものでしょうか?

ご協力いただきましてありがとうございます。

答えて

0

約束の解決ハンドラ から値を返すことはできません(できますが、この例のように.then()メソッド自体によって返される約束の解決または拒否の結果になります)。

あなたのケースでは、mはお約束ですので、そのように使用する必要があります。代わりに:

console.log(m); 

あなたがしなければならない。

m.then(console.log); 

またはこの:

console.log(await m); 

あなたはasyncキーワードで宣言された関数内にあるかどうか。

詳細については、this answerを参照してください。 other answers about promisesも参照してください。