2276970
环境: nodejs@V12.6 、oracledb@4.0.1、oracle11g
试了 1. 将结构化封装在函数里执行,伪代码如下:
exports.getSomethingByID = async ( params ) => {
let formatData = [];
//..........
try {
let rel = connection.execute( sql, params, options);
async function ceshi ( ) {
//......结构化的逻辑
formatData.push( data );
}
for ( let i = 0; i < rel.rows.length, i++){
await ceshi( rel.rows[i] );
}
return formatData
}catch (error) {
console.log(error.stack);
return [];
} finally {
if (connection) {
try {
await connection.close();
} catch (err) {
console.log('Error in closing connection:\n', "Module - ", module.id, " : \n", err);
}
}
}
}
- 用process.nextTick( ceshi, ele); 发现事件居然排在了finally后面; ( 事件循环基础太差 ); 求帮忙!!