我正在JS中练习异步/等待,但是有一个小问题,如果您能提供帮助,我们将非常高兴。 在以下代码中:
async function getTableNameRecords(tblId) {
try {
const tableName = await dbConn.queryDB('select * from d_table where table_id='+tblId, function (err, callback) {console.log(callback);return callback;});
const columnName = await dbConn.queryDB("select * from information_schema.columns where table_name='" + tableName[0].table_name + "' and ordinal_position=1", function (err, callback) {console.log(callback);return callback ;});
return {tableName, columnName};
}
catch(e){
console.log("error",e);
}
};
我希望首先首先计算表名,以便以后可以计算列名,但是等待不要等待< / strong>,以便首先完成tableName并尝试立即执行columnName,这将导致以下错误:
error TypeError: Cannot read property '0' of undefined
at getTableNameRecords (C:\nodejs\ReferaNode\app.js:208:122)
at process._tickCallback (internal/process/next_tick.js:68:7)
(节点:8512)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“ 0”
您能帮我发现问题并修复那小段代码吗?
预先感谢...
PS:我在SO上搜索了很多类似主题的条目,但是找不到与我的方案最匹配的条目:(