Я новичок в Javascript , и мне нужно решить задачу для моей домашней работы.
Мне нужно получить конкретные данные (названия альбомов и идентификаторы альбомов) из базы данных в одном классе, вернуть эти данные в другой класс и отформатировать их там с использованием литералов шаблона.
getAlbums: function (db) {
sql = `SELECT DISTINCT Title, AlbumId FROM albums`;
let title = [], id = [];
db.all(sql, [], (err, rows) => {
if (err) throw err;
rows.forEach((row)=>{
title.push(row.Title);
id.push(row.AlbumId);
});
});
return [title, id];
}
это функция, где я получаю данные из базы данных. Когда я помещаю console.log(title)
внутри функции db.all
, массив заголовков заполняется правильно. Но он не возвращает этот массив другому классу, я получаю сообщение об ошибке:
TypeError: Невозможно прочитать свойство 'forEach' из неопределенного.
Если я поставлю console.log(title)
вне функции db.all
, она вернет пустой массив, и я не получу сообщение об ошибке. Выход просто undefined
.
вызов метода в моем другом классе:
showAlbum: function (db) {
let albumID = model.getAlbums(db);
//let album = "";
//let albId = "";
albumID.forEach((element) => {
//album = element.title;
//albId = element.id;
console.log(`Albumtitle: ${element.title} AlbumID: ${element.id}\n`);
});
}
Как правильно перенести массивы?