为什么koa路由器发送404?

我正在使用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 }); }); }); 

看起来你没有利用Koa的协同function。 你的代码可以像这样重写:

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

Koa使用引擎盖下的co库 。 如果您承诺承诺,那么生成器函数将暂停,然后在履行承诺时恢复。