Я новичок в NodeJS и пытаюсь изучить его, создав веб-приложение для корзины покупок.Я храню данные в базе данных SQLite, но не могу получить к ним доступ.Метод .all () возвращает объект Promise, и я не могу понять, как получить элементы в базе данных.
Я следовал этому руководству: https://stackabuse.com/a-sqlite-tutorial-with-node-js/, чтобы построить объект доступа к данным.и две модели: ItemRepository и CartRepository.
Это метод get в моем скрипте объекта доступа к данным:
get(sql, params = []) {
return new Promise((resolve, reject) => {
this.db.get(sql, params, (err, result) => {
if (err) {
console.log('Error running sql: ' + sql)
console.log(err)
reject(err)
} else {
resolve(result)
}
})
}
А это мой index.js
router.get('/', function(req, res, next) {
var dao = new AppDAO('./database.sqlite3');
var itemRepo = new ItemRepository(dao);
var cartRepo = new CartRepository(dao);
items = itemRepo.getAll();
console.log(items);
var itemRows = [];
var rowSize = 3;
for (var i = 0; i < items.length; i += rowSize){
itemRows.push(items.slice(i, i+rowSize));
}
res.render('shop/index', { title: 'sHOP', items: itemRows })
});
Я немного растерялся относительно того, как получить содержимое таблицы, а не объект Promise.