Async/Await を使います。
maria_read.js
#! /usr/bin/node
// ---------------------------------------------------------------// maria_read.js//// Jun/04/2020//// ---------------------------------------------------------------functioncompare_by_key_proc(left,right){varaa=left.keyvarbb=right.keyvarrvalue=0if(aa<bb){rvalue=-1}elseif(aa>bb){rvalue=1}returnrvalue}// ---------------------------------------------------------------functionsort_key_proc(dict_aa){vararray=newArray()for(varitindict_aa){array.push({'key':String(it),'value':dict_aa[it]})}array.sort(compare_by_key_proc)returnarray}// ---------------------------------------------------------------functiondict_display_proc(dict_aa){constarray_aa=sort_key_proc(dict_aa)array_aa.forEach(function(unit_aa,index){constkey=unit_aa.keyconstvalue=unit_aa.valuevarout_str=key+"\t"out_str+=value["name"]+"\t"out_str+=value["population"]+"\t"out_str+=value["date_mod"]console.log(out_str)})}// ---------------------------------------------------------------asyncfunctionread01(mysql,user,password,data_base){try{varconn=awaitmysql.createConnection({host:'localhost',user:user,password:password,database:data_base})constsql_str='select * from cities'const[rows,fields]=awaitconn.execute(sql_str)returnrows}catch(ee){console.log(ee)return''}finally{if(conn&&conn.connection){conn.end()}}}// ---------------------------------------------------------------asyncfunctionmain(){varmysql=require('mysql2/promise')constdotenv=require('dotenv')dotenv.config()constuser=`${process.env.user}`constpassword=`${process.env.password}`constdata_base=`${process.env.data_base}`constrows=awaitread01(mysql,user,password,data_base)vardict_aa=newObject()rows.forEach(function(row){dict_aa[row.id]={"name":row.name,"population":row.population,"date_mod":row.date_mod}})dict_display_proc(dict_aa)console.error("*** 終了 ***")}// ---------------------------------------------------------------console.error("*** 開始 ***")main()// ---------------------------------------------------------------
実行コマンド
export NODE_PATH=/usr/lib/node_modules
./maria_read.js