2015-10-04 69 views
2

我正在使用koa-router,koa-views和sequelize。數據來自數據庫,但狀態= 404。我做錯了什麼?爲什麼koa路由器發送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 
    }); 
    }); 
}); 

回答

2

看起來你沒有充分利用Koa的協同功能。您的代碼可以這樣重寫:

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

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

科阿使用the co library在引擎蓋下。如果您承諾承諾,那麼生成器函數將暫停,然後在履行承諾時恢復。

+0

不工作。 - > GET/404 115ms 6kb – Nicolas

+1

工作如果:yield this.render()。謝謝! – Nicolas