2016-04-05 5 views
0

Я новичок в Node, Koa и веб-разработке, я пытаюсь отправить данные из запроса в шаблон. Я использую Bookshelfjs как ORM.Как получить доступ к результатам запроса db в Koa?

module.exports = { 

    /** Get user info by id */ 
    getId: function * getId (next) { 

     // var user = { username: 'lucas', passowrd: 'lucas' }; 

     userMng.findById(this.params.id, (err, user) => { 

      this.body = yield this.render('id', { 
       title: 'Show detailes about item: ' + this.params.id, 
       data: user 
      }); 

     }); 

     yield next; 
    } 
} 
+0

Что такое 'findById', и откуда оно взялось? Я не могу найти ссылку на этот метод в bookshelfjs. И в этом отношении, что такое 'userMng'? Это модель книжной полки? – dvlsg

+0

srry, посмотрите на это [модуль] (http://pastebin.com/Krus36a8) –

+0

Получил это. Просто введите 'User.where ('uid', id) .fetch()' внутри koa, и вы получите 'user' обратно. – dvlsg

ответ

0

Вы должны использовать свой интерфейс Promise. Я не уверен, что такое findById, поэтому я приведу пример, модифицированный из их документации.

module.exports = { 

    /** Get user info by id */ 
    getId: function * getId (next) { 

     // assume User is a bookshelf model. 
     // probably userMng in your case, but it's hard to say without more code. 
     let user = yield User.where('id', this.params.id).fetch(); 

     this.body = yield this.render('id', { 
      title: 'Show detailes about item: ' + this.params.id, 
      data: user 
     }); 

     yield next; 
    } 
}; 

 Смежные вопросы

  • Нет связанных вопросов^_^