如何使用sequelize.js返回结果?

时间:2015-04-27 03:30:11

标签: node.js sequelize.js

class Movie < ActiveRecord::Base
  validates_as_choice :rating, 5
end

结果

var userid = 7;
var um;

sequelize.query("select user_money from ecs_users u where u.user_id = ?", {replacements: [userid], type: sequelize.QueryTypes.SELECT}).then(function(data) {
  console.log('Inside um is '+data[0].user_money);
  um = data[0].user_money;
});

//how to get the result at here ???
console.log('Outside um is '+um);
console.log('testtesttest');

如何在外面获得结果?

1 个答案:

答案 0 :(得分:0)

sequelize.query()是一个异步函数。如果要使用结果,则应在promise链中进行,而不是在外部。无论如何,你都无法可靠地知道query()需要多长时间才能运行。

如果您绝对必须在承诺链之外使用它,请创建一个布尔值,告诉您是否还有结果。只有在promise链中有结果后,才将Boolean设置为true。在promise链之外,您可以检查Boolean的值并决定是否要等待(例如,使用setTimeout()再试一次)或忽略或抛出错误或其他内容。