1
我遇到麻煩使用類方法,基本上它是一個函數範圍問題(我猜)。Javascript範圍和閉包,變量保持其值
的JS代碼:
MysqlClass.prototype.registrar = function(usuario,password,correo,socket){
var resultado;
this.connection.query("SELECT usuario FROM usuarios WHERE usuario=?;",[usuario],function(err,rows,fields){
if(err){
resultado = true;
}
if(rows.length==1){
resultado = true;
}else{
resultado = false;
}
});
console.log(resultado);
}
console.log(resultado)
顯示undefined
當我想告訴true
或false
我使用NodeJS
與node-mysql
你必須看到回調中的結果。 –
因爲回調是異步執行的。把這個日誌放在回調裏面,它會起作用 –
我也很確定你想改變你的邏輯。如果'rows.length!= 1',即使設置了'err',resultado也會被設置爲'false'。只是覺得這不是你想要的。 –