2016-11-25 35 views
0

我正在創建一個Web應用程序,並使用書架查詢我的一個數據庫。但是,我想從我的數據庫中獲取一些信息並將其放入一個數組中,但我不知道如何將該數組傳遞給我的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); 

當我嘗試這樣做,沒有東西放進課程。任何人都可以告訴我如何允許書架調用訪問課程變量?

感謝advace。

回答

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));