Здравствуйте, есть два запроса которые получают данные. использую XMLHttpRequest. Несмотря на то, что AJAX является асинхронной операцией, результаты запросов я хочу получить последовательно: сначала трёх пользователей, потом случайное число. Для этого пытаюсь использовать callback-и. Может ли объяснить мне как с ними работать?
window.onload = function () {
document.querySelector("#callback").onclick = function () {
const url = "https://randomuser.me/api?results=";
let n = randomInteger(5, 10);
ajaxGet(3, url + 3, getName);
ajaxGet(n, url + n, getName);
}
}
function getName(s, request) {
let data = JSON.parse(request.responseText);
for (let i in data.results) {
document.getElementById("name").innerHTML += s + " " + data.results[i].name.first + " " + data.results[i].name.last + "<br>";
}
}
function ajaxGet(s, url, callback) {
let request = new XMLHttpRequest();
request.onreadystatechange = function () {
if (request.readyState == 4 && request.status == 200) {
callback(s, this);
}
}
request.open('GET', url);
request.send();
}
function randomInteger(min, max) {
var rand = min - 0.5 + Math.random() * (max - min + 1)
rand = Math.round(rand);
return rand;
}