Возвращая значения из mysql в реализации перекладины nodejs

Я только начал с перекладины и nodejs. У меня есть фон PHP. Я знаю, что mysql на nodejs является асинхронным, поэтому я добавил обратный вызов, но я не могу получить обратный вызов, чтобы вернуть значение в метод register из поперечины. Каков будет правильный способ справиться с этим?

var autobahn = require('autobahn');
var mysql = require('mysql');
var q = require('q');

var connection = new autobahn.Connection({
   url: 'ws://127.0.0.1:8080/ws',
   realm: 'realm1'}
);

connection.onopen = function (session) {

   function dologin (cb) {

        var connection = mysql.createConnection({
            host     : 'localhost',
            user     : 'xxxxx',
            password : 'xxxxx',
            database : 'xxxxx'
        });
         connection.connect();

         connection.query('SELECT * from users LIMIT 0,2', function(err, rows, fields) {
            if (!err){
               cb("Done");
            }else{
               cb('Error while performing Query. ');
            }

         });
     }
   function login (args) {
        return dologin(function(response){

           return "status: "+response;
        });
   }

   session.register('com.cms.login', login).then(
      function (reg) {
         console.log("Login registered");
      },
      function (err) {
         console.log("failed to register procedure: " + err);
      }
   );
};

connection.open();

0 ответов

Другие вопросы по тегам