bir mysql SEÇ sorgudan değer döndürmek için, ve ben geri aramalar nasıl çalıştığını anlamaya çalışıyorum. Yani, burada benim problem:nasıl node.js için hala çok yeniyim node.js
Ben daha fazla kod koymak vermeliydim:
SONRASI:
app.post('/register', function(req, res) {
//get data from the request
var data = {
username: req.body.username,
email: req.body.email,
password: req.body.password
};
function fetchID(callback) {
connection.query('SELECT id_user FROM USERS WHERE username = ?', data.username, function(err, rows) {
if (err) {
callback(err, null);
} else
callback(null, rows[0].id_user);
});
}
var user_id;
fetchID(function(err, content) {
if (err) {
console.log(err);
return next("Mysql error, check your query");
} else {
user_id = content;
console.log(user_id); //undefined
}
});
console.log(user_id); //undefined
var payload = {
iss: req.hostname,
sub: user_id
}
console.log(payload.sub); //correct id
})
GET:
app.get('/todos', function(req, res) {
if (!req.headers.authorization) {
return res.status(401).send({
message: 'You are not authorized !'
});
}
var token = req.headers.authorization.split(' ')[1];
var payload = jwt.decode(token, "shhh..");
//additional level of security
console.log('sub id is : ' + payload.sub); //undefined
if (!payload.sub) {
return res.status(401).send({
message: 'Authentication failed !'
});
}
})
ben olmak her console.log yorumladı
Daha açık.
function fetchID(data, callback) {
connection.query('SELECT id_user FROM USERS WHERE username = ?', data.username, function(err, rows) {
if (err) {
callback(err, null);
} else
callback(null, rows[0].id_user);
});
}
ve geri aramasında İşte o zaman
var user_id;
fetchID(data, function(err, content) {
if (err) {
console.log(err);
// Do something with your error...
} else {
user_id = content;
}
});
- Ben app.get()
'user_id' değişken' mi undefined' eğer 'console.log (user_id)' doğru ayarlamak için kullanılırken 'else' açıklamada ayarlayarak veya sonrasında' payload.sub '? İlk fonksiyon için –
, '' işlevi fetchID (callback) '' nereye '' data'' nesne geçti oluyor edilir? –