Help ! Vấn đề về bất đồng bộ trong Nodejs !



  • Em đang làm cái small project sau khi học nodejs vài tháng nhưng hơi khó hiểu chỗ đồng bộ và bất đồng bộ,mong ae giúp đỡ :
    var result='';
    for(var i=ulist.length-1;i>=0;i--){
    mysql.query("SELECT * FROM member WHERE user='"+ulist[i].user+"'",function(err,rows){
    if(err){console.log(err);}else{result+=rows[0].name;}
    });
    }
    socket.emit('res',result);
    Vì mấy cái này bất đồng bộ nên socket nó emit trước khi biến result kịp thay đổi . Nhưng em muốn result nó thay đổi rồi mới emit ,nghĩa là biến result nó lấy được hết kết quả từ các câu lệnh query mysql,mong ae giúp đỡ !



  • @achung0147 thử nhấc cái socket.emit('res',result); cho vào else dưới result+=rows[0].name; xem



  • @achung0147 promise sẽ giúp bạn giải quyết vấn đề này


Log in to reply