1

I want to update a globally declared variable after sqlite query, but I cant get it to work, I have read that it might be related to asynchronous functions but I have no idea how to implement callbacks and stuff in this example, can you guys help please. Here is the code:

const sqlite3 = require('sqlite3').verbose();
const dbPath = './src/db/db.sqlite3';

let db = new sqlite3.Database(dbPath, (err) => {
            if (err) {
              console.error(err.message);
            }
            console.log('Connected to database.');
          });

let number = null;
let rowsExist = null;
db.get("select count(*) from PRICE", [], (err, row) => {
            if (err) {
                console.error(err.message)
            }
            else {
                rowsExist = Object.values(row)[0];
                console.log(rowExist) //this works but outside the function it doesnt get updated
            }
            });
// here rowExist remains the same after query    
if (rowsExist === null) {
            number = 1
        }
else {
        db.get("SELECT number FROM PRICE ORDER BY number DESC LIMIT 1", [], (err, row) => {
                if (err) {
                    console.error(err.message)
                }
                else {
                    number = Object.values(row)[0] + 1

                }
            })

        };


matthias_h
  • 11,356
  • 9
  • 22
  • 40
codex007
  • 21
  • 2

0 Answers0