Я ладья ie в nodejs. И теперь у меня возникла проблема с асинхронным и синхронным в node js.
Вот мой код:
var time_begin = Date.now();
console.log("begin time:" + time_begin);
arr_a = ['a', 'b', 'a', 'b', 'a', 'b']
async function iterTrans (arr_a) {
var txs_arr_tmp = [];
for(let aInfo of arr_a) {
var fs = require('fs');
if (aInfo == "a") {
fs.readFile("./debug.json", function (error_file, data_file) {
if (error_file) {
console.log(error_file)
} else {
txs_arr_tmp.push("a");
}
});
} else {
txs_arr_tmp.push("b");
}
}
return txs_arr_tmp;
}
iterTrans(arr_a).then((txs_arr_tmp) => {
var content_str = JSON.stringify(txs_arr_tmp);
console.log(content_str);
})
Я предполагаю, что консоль будет печатать:
["a","b","a","b","a","b"]
Но на самом деле я получил:
["b","b","b"]
Я изучил и попробовал некоторые методы об асинхронном и синхронном, но я не сделал успешно. И я должен использовать асинхронный метод в readFile.
Итак, как я могу получить ["a", "b", "a", "b", "a", "b"]? Кто может дать мне совет?
Большое спасибо!