-1
我重视我的服务器代码:顺序不正确执行(node.js的)
var net = require('net');
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('MyBBDD.db');
var prueba = '';
function get_kw_actual(nombre,callback){
stmt = db.prepare("SELECT kw_actual FROM usuarios WHERE usuario = ?");
stmt.bind(nombre);
stmt.get(function(error,row){
if(error){
throw err;
}
else{
if(row){
entero=row.kw_actual;
callback(entero);
}
else{
console.log("error");
}
}
});
}
var server = net.createServer(function(socket) {
console.log("Recibo peticion");
socket.on('data', function (data) {
get_kw_actual('Pepe',function(resultado){
console.log('resultado es: ' + resultado);
prueba = '' + resultado;
})
socket.write(prueba);
});
socket.on('close', function() {
console.log('Connection closed');
});
});
server.listen(1337, '192.168.1.101');
在我的服务器,我收到一个请求,我打电话给我的功能“get_kw_actual”我得到了一些我的数据库,最后我回应了结果。 问题是它首先运行“socket.write(prueba);”比:
stmt.get(function(error,row){
if(error){
throw err;
}
else{
if(row){
entero=row.kw_actual;
callback(entero);
}
else{
console.log("error");
}
}
});
所以......执行没有按正确的顺序执行,结果是不正确的。 有人知道我该如何解决它? 在此先感谢。
此致敬礼。
非常非常感谢你!这是正确的!! :) – Tecnico