tôi có chức năng sau đó được một hexcode từ cơ sở dữ liệuNode.js trở về kết quả từ truy vấn 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;
});
}
Vấn đề của tôi là tôi đang trở về kết quả trong hàm callback nhưng chức năng getColour không trả lại bất cứ thứ gì. Tôi muốn hàm getColour trả về giá trị result[0].hexcode
.
Tại thời điểm khi tôi gọi getColour nó không trả lại bất cứ điều gì
Tôi đã cố gắng làm điều gì đó như
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;
}
nhưng tất nhiên các truy vấn SELECT đã hoàn thành vào thời điểm đó trả về giá trị trong colour
Cảm ơn mặc dù tôi vẫn có cùng một vấn đề mà tôi không thể gán kết quả của các cuộc gọi lại cho một biến (ví dụ: var color = getColour (... - Đây có phải là có thể – Pattle
'var color = getColour (Nhưng bạn vẫn có thể giữ màu như là một biến toàn cầu và đặt nó từ gọi lại.Nhưng nếu bạn muốn kích hoạt mọi thứ khi hoàn thành việc tìm nạp db, bạn phải đặt chúng trong hàm gọi lại – mithunsatheesh
thnak bạn @mithunsatheesh. Làm thế nào tôi có thể truy cập dữ liệu từ bên ngoài getColour? – Diamond