2

我正在使用 koa-router、koa-views 和 sequelize。数据来自数据库,但状态 = 404。我做错了什么?

router.get('/', function *() {
  var ctx = this;

  yield models.drivers.findAll({
    where: {
      userId: ctx.passport.user.id
    }
  }).then(function(drivers) {
    ctx.render('driversSearch', {
      drivers: drivers
    });
  });
});
4

1 回答 1

2

看起来您没有利用 Koa 的协程功能。您的代码可以这样重写:

router.get('/', function *() {
  var drivers = yield models.drivers.findAll({
    where: {
      userId: this.passport.user.id
    }
  });

  this.render('driversSearch', {
    drivers: drivers
  });
});

Koa 在底层使用co 库。如果您产生一个承诺,则生成器功能将暂停,然后在承诺完成时恢复。

于 2015-10-04T20:07:18.817 回答