Javascript 为什么代码中有一部分没有执行?Node.js/Oriento

Javascript 为什么代码中有一部分没有执行?Node.js/Oriento,javascript,node.js,orientdb,oriento,Javascript,Node.js,Orientdb,Oriento,我调用了一个函数,function select(items,className,callback),它在console.logconsole.log(“函数运行”)中有一个console.log 在这里我称之为: io.on('connection', function(socket){ console.log('User connected.'); openServer(); //This start the connection between OrientDB and the

我调用了一个函数,
function select(items,className,callback)
,它在console.log
console.log(“函数运行”)
中有一个console.log

在这里我称之为:

io.on('connection', function(socket){
  console.log('User connected.');

  openServer();  //This start the connection between OrientDB and the Server

  select("name", "Buyers", function(err, data){
    if(err){
      console.log("ERROR: ", err);
    } else {
      console.log("result from db is: ", data);
    }
  });
功能代码:

function select(items ,className, callback){

    server.query("SELECT "+items+" FROM "+className+"", function(err, result){
      console.log("Function ran.");
      if (err) 
        return callback(err, null);
      else
        return callback(null, result[0].name);
    });
  }
select函数()
console.log()

我的问题是:

  • 为什么他们永远不会被处决

旧OrientJS使用承诺


OrientJS,因为旧Oriento使用承诺


select在('connection')的io.on(io.on)回调函数被触发之前不会被调用,所以唯一的问题是,您永远不会得到连接“openServer”中的GIS代码是异步的?当您说“console.log()都没有执行”时,您的意思是您发布的代码中的四个都没有?我是指
函数select
上的
控制台。log
“用户已连接”。
被输出?select将在触发
io.on('connection'
回调函数之前不会被调用-因此唯一的问题是,您永远不会在代码中获得连接“openServer”是异步的?当你说“console.log()都没有执行”时,你是说你发布的代码中的四个都没有执行?我是指
函数select上的
console.log
,所以
是“用户连接的”。
输出了吗?