Wpis z mikrobloga

#programowanie #nodejs #javascript #sql #mysql

W jaki sposób mogę wyciągnąć wartość zmiennej userInfo z funkcji getFromDatabase? Po całym dniu szukaniu odpowiedzi w internecie domyślam się, że ma to związek z asynchronicznym charakterem takiej operacji i że nie można tego zrobić returnem a należny użyć promisów, callbacków, asynców itp, jednak po wielu próbach nie udało mi się zrobić tak żeby działało ( ͡° ͜ʖ ͡°)

function getFromDatabase() {
database.query('SELECT * FROM users WHERE id = 1', function(error, results, fields) {
userInfo = results[0];
});
}

Ktoś coś?
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@magic96 na przykład tak:

function getFromDatabase(callback) {
database.query('SELECT * FROM users WHERE id = 1', function(error, results, fields) {
userInfo = results[0];
callback(null,
  • Odpowiedz
@itdrwal: nie radzę sobię. Wydaje mi się, że już dobrze rozumiem zasadę działania promisów i async/awaitów i w normalnych metodach potrafię je wykorzystać, jednak jeżeli chodzi o zapytanie do bazy danych query to zaczynają się problemy.
  • Odpowiedz