Комрады, я если честно вообще не понял в чем проблема, но дело пахнет кошмаром и попыткой пристрелить себя в ногу на ровном месте.
Почему нельзя писать простые вещи просто?
var app = module.exports = require('koa')();
var knex = require('koa-knex');
var conf = require('./conf');
app.use(knex(conf.knexConnection));
app.use(function* showUsers() {
this.body = yield this.knex
.select('firstname', 'lastname')
.from('users')
.where('is_active', true);
});
if (!module.parent) {
app.listen(conf.app.port, conf.app.host);
console.log(`listening on http://${conf.app.host}:${conf.app.port}/`);
}
// Выведет JSON:
// [{firstname: 'Маша', lastname: 'Иванова'},
// {firstname: 'Вася', lastname: 'Пупкин'}]
PS: А не пахнет ли здесь вообще попыткой вызвать асинхронное синхронно?!!!