Есть код, который через цикл добавляет данные в массив.
const dns = require('dns');
var arr = [];
function resolve(hostname, rrtype) {
for (var i = 0; i < rrtype.length; i++) {
dns.resolve(hostname, rrtype[i], (err, data) => {
if (!err) {
arr.push(data)
console.log(i)
} else {
console.log(err);
};
});
};
}
resolve('google.com', ['A', 'MX', 'NS', 'TXT']);
console.log(arr);
Если вызываем
console.log(arr);
, то выводится пустой массив потому что функция еще не закончила выполнение. Какой самый правильный способ вывести содержимое массива, только после выполнения функции. Какие вообще способы есть? Потому что всегда мне приходится писать грабли, чтобы этого добиться, хотелось бы уточнить у Вас, как бы Вы в этой ситуации поступили и какие способы правильные и более эффективны? Буду благодарен за любые ответы. Спасибо.