Sobes.tech
Junior — Middle+

Создание очереди AsyncQueue для гарантированного последовательного выполнения асинхронных функций

livecode

Առաջադրանքի պայման

Необходимо разработать класс, который будет выполнять переданные функции строго одна за другой, даже если они возвращают Promise.

const asyncQueue = new AsyncQueue();

asyncQueue.add(() => console.log("1"));
asyncQueue.add(
    () =>
    new Promise((resolve) => {
        setTimeout(() => {
            console.log("2");
            resolve();
        }, 1000);
    })
);
asyncQueue.add(() => console.log("3"));
asyncQueue.add(
    () =>
    new Promise((resolve) => {
        setTimeout(() => {
            console.log("4");
            resolve();
        }, 500);
    })
);
Создание очереди AsyncQueue для гарантированного… - sobes.tech