2015-10-04 3 views
2

Я использую koa-router, koa-views и sequelize. Данные поступают из базы данных, но статус = 404. Что я делаю неправильно?Почему koa-router отправляет 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

Похоже, вы не пользуетесь функциями Коуты Коа. Ваш код можно переписать так:

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