Получение возврата из вызванного DB.ALL

#javascript #angular #typescript #sqlite

#javascript #угловой #typescript #sqlite

Вопрос:

Пытаюсь получить значения строк из функции DB all. Не удается получить это из базы данных.Все функционируют или уберите их со стрелки. Полученный мной журнал консоли вернет желаемый результат, но я хочу, чтобы он извлек его, чтобы я мог использовать значение JSON.

Есть идеи, как это сделать?

 handler: (request, h) => {
        let sql = `SELECT TRIAL_ID as indexTrial, URL as urlImage FROM TRIAL`;
        var test ='hi';


            db.all(sql, (err, rows) => {
                if (err) {
                    throw err;
                }
                test= JSON.stringify(rows);
                console.log(test);
                test =rows;
                //return rows;
            });


        return test;

    }
  

Ответ №1:

Требовалось обещание, потому что для получения значения требовалось быстрое

 handler: (request, h) => {
    let sql = `SELECT TRIAL_ID as indexTrial, URL as urlImage FROM TRIAL`;
    var result =[];
    var test ='hi';

return new Promise((resolve) => {
    db.all(sql,[], (err, rows) => {
            if (err) {
                throw err;
            }
            resolve(rows);

        })
}).then((rows) => {
    return h.response(rows);
});