2016-11-25 4 views
0

私はウェブアプリケーションを作成しており、ブックシェルフを使用して自分のデータベースの1つを照会しています。しかし、データベースから情報を取得して配列に格納したいのですが、配列を私のthen関数に渡す方法がわかりません。これはどうすればいいですか?Bookshelf関数に変数を渡す方法は?

var courses = []; 
Bookshelf.knex('users').where('email', req.session.user.email).then(function(users) { 
    users.forEach(function(user) { 
     courses.push(user); 
    }); 
}); 
console.log(courses); 

私はこれをしようと、何もコースに入れなかっます:

は、ここに私の現在のコードです。ブックシェルフコールでコース変数にアクセスする方法を教えてもらえますか?

ありがとうございました。

答えて

0

これには非同期操作が含まれているため、結果を同期的に取得することができないためです。あなたはこのようなことをするべきです。

var courses = []; 
Bookshelf.knex('users').where('email', req.session.user.email).then(function(users) { 
    users.forEach(function(user) { 
     courses.push(user); 
    }); 
}).then(() => console.log(courses)); 
関連する問題