Что выведут функции a и b

Есть 2 функции a и b, мы вызываем функцию b. Которая несколько раз вызывает a и что-то выводит в консоль. Напиши в каком порядке будет выводиться консоль и примерно рассказать почему так происходит.

const a = async () => {
    console.log("e");
    
    Promise.resolve().then(() => {
        console.log("f");
    });
};

const b = async () => {
    setTimeout(() => console.log("a"), 0);
    
    console.log("b");
    a();
    
    console.log("c");
    await a();
    
    console.log("d");
};

b();

Оставьте комментарий