我怎样才能停止另一行的执行,直到它完成其当前功能的执行

How can I stop the execution of another line until it has completed its execution of its current function

这是我的代码:

var data;
function fetch_details(){
    db.any({   //to get the operator id and operator name
        text: `select operator_id,op_fName from operators where operator_id='OPER123';`,
        values: [],
        rowMode: "array",
    })
   .then((rows) => {
     data=rows;   
     console.log(data)
    }
}
fetch_details()   //function call
console.log(data);  //I am getting undefined

从数据库中获取数据后我需要这些数据,不是为了打印它而是我想导出它并在另一个文件中使用它。 我也尝试使用 async-await 但我不知道如何正确使用它。 不要担心数据库 我从另一个文件导入它,一切正常。 请帮忙解决这个问题。

这是解决问题的 async-await 版本:

var data;
async function fetch_details() {
  data = await db.any({
    text: `select operator_id,op_fName from operators where operator_id='OPER123';`,
    values: [],
    rowMode: 'array',
  });
}
await fetch_details();
console.log(data);

如果您分享的代码在另一个函数中:

function(){
   <your snippet>
}

外部函数还需要有 async 关键字,如 fetch_details 所示。

如果您想避免这种情况,您还可以执行以下操作:

var data;
async function fetch_details() {
  data = await db.any({
    text: `select operator_id,op_fName from operators where operator_id='OPER123';`,
    values: [],
    rowMode: 'array',
  });
}
fetch_details().then(function() {
  console.log(data);
  // further processing and use of data
});