Есть небольшой скрипт на node.js, который сначала получает массив id, потом перемешивает их, далее ищет по id имена людей и записывает новый массив.
Но объявив глобальную переменную arrName, никак не получается вывести этот массив, а точнее он почему то пустой.
function shuffle(array) {
array.sort(() => Math.random() - 0.5);
}
const arrName = [];
const XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
const x = new XMLHttpRequest();
x.open('GET', 'https://slack.com/api/conversations.members?token=xxx&channel=xxx');
x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
x.onload = function() {
let array_1 = JSON.parse(this.responseText).members;
shuffle(array_1);
var array_cleaned = array_1.filter(function(element) {
return element.length <= 9;
});
var array_cleaned2 = array_cleaned.filter(function(element2) {
const y = new XMLHttpRequest();
y.open('GET', 'https://slack.com/api/users.profile.get?token=xxx&user=' + element2);
y.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
y.onload = function() {
let array_2 = JSON.parse(this.responseText).profile.display_name;
console.log('В группе состоит ' + array_2);
arrName.push(array_2);
}
y.send();
});
console.log(array_cleaned);
console.log(arrName);
}
x.send();
Почему
console.log(arrName);
выводит просто пустой массив?
При этом если я проверяю arrName после строчки "arrName.push(array_2);" , то массив выводится(что логично 3 раза)