Показать сообщение отдельно
  #4 (permalink)  
Старый 27.09.2021, 20:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Предложу решение "в лоб"...

<!DOCTYPE html>
<html>
<head>
<!--
<script src='https://code.jquery.com/jquery-latest.min.js'></script>
-->
<style type='text/css'>
</style>
<script>
function one(callback) {
    setTimeout( function() {
        callback("First");
    }, Math.random() * 2000);
}

function two(callback) {
    setTimeout( function() {
        callback("Second");
    }, Math.random() * 2000);
}

function three(callback) {
    setTimeout( function() {
        callback("Third");
    }, Math.random() * 2000);
}

function runCallback(s) {
    const o = document.createElement('p')
	o.textContent = s
	document.querySelector('body').appendChild(o)
}

// Вот собственно решение...
const test1 = res => {
	runCallback(res)
	three(runCallback)
}
const test2 = res => {
	runCallback(res)
	two(test1)
}
one(test2)

</script>
</head>
<body> 

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