Показать сообщение отдельно
  #13 (permalink)  
Старый 28.09.2021, 11:55
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Тогда так на колбеках
function one(callback) {
    setTimeout( function() {
        callback("First");
    }, Math.random() * 1000);
}
 
function two(callback) {
    setTimeout( function() {
        callback("Second");
    }, Math.random() * 500);
}
 
function three(callback) {
    setTimeout( function() {
        callback("Third");
    }, Math.random() * 100);
}
 
function runCallback(s) {
    console.log(s);
}

const stream = (log, ...queue) => queue.shift()(s => (log(s), queue.length && stream(log, ...queue)))
stream(runCallback, one, two, three)
Ответить с цитированием