Mam następujących funkcji, która pobiera hexcode z bazynode.js powracający wynik z zapytania MySQL
function getColour(username, roomCount)
{
connection.query('SELECT hexcode FROM colours WHERE precedence = ?', [roomCount], function(err, result)
{
if (err) throw err;
return result[0].hexcode;
});
}
Moim problemem jest to, że wracam wynik w funkcji zwrotnej ale funkcja getColour nie zwrócić wszystko. Chcę, aby funkcja getColour zwróciła wartość result[0].hexcode
.
W chwili gdy zadzwoniłem getColour niczego nie
Próbowałem robić coś podobnego
function getColour(username, roomCount)
{
var colour = '';
connection.query('SELECT hexcode FROM colours WHERE precedence = ?', [roomCount], function(err, result)
{
if (err) throw err;
colour = result[0].hexcode;
});
return colour;
}
ale oczywiście zapytanie SELECT zakończy do czasu powrotu wartości w zamian colour
Dzięki chociaż nadal mam ten sam problem, w którym nie można przypisać wynik zwrotnego do zmiennej (np var color = getColour (...? - Czy to możliwe – Pattle
'kolor var = getColour ("nie jest możliwe, ale nadal możesz zachować kolor jako zmienną globalną i ustawić ją z powrotem, ale jeśli chcesz wywołać rzeczy po zakończeniu pobierania db, musisz umieścić je w oddzwonieniu." – mithunsatheesh
thnak you @mithunsatheesh. Jak mogę uzyskać dostęp do danych spoza getColour? – Diamond