Показать сообщение отдельно
  #7 (permalink)  
Старый 24.04.2018, 00:17
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Да

/// я ещё немного потрансформировал Ваш код

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
<button id="callback">Button</button>
<div id="name"></div>
<script>

document.querySelector("#callback").onclick = async function () {
	const url = "https://randomuser.me/api?results=";
	let n = randomInteger(5, 10);

	await getPersons(3, url).then(addPerson);
	await getPersons(n, url).then(addPerson);
}

function addPerson([s, data]) {
	for(let { name: { first, last } } of Object.values(data.results)) {
		document.getElementById("name").innerHTML += `${s} ${first} ${last}<br>`;
	}
}

function getPersons(s, url) {
	return fetch(url + s)
		.then(response => response.json())
		.then(data => [s, data]);
}

function randomInteger(min, max) {
	return Math.floor(min + Math.random() * (max - min));
}

</script>
</body>
</html>
Ответить с цитированием