我怎样才能停止另一行的执行,直到它完成其当前功能的执行
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
});
这是我的代码:
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
});