У меня есть несколько IIFE, которые я хотел бы вызвать в определенном порядке:
Допустим, у меня есть следующие IIFE:
let foo1 = (async() => {
await console.log('A')
await console.log('B')
await console.log('C')
})();
let foo2 = (async() => {
await console.log('D')
await console.log('E')
await console.log('F')
})();
let foo3 = (async() => {
await console.log('G')
await console.log('H')
await console.log('I')
})();
И я бы хотел вызвать их так:
foo1
foo2
foo3
... чтобы я мог получить следующий вывод:
A B C D E F G H I
Тем не менее, вывод, который я на самом деле получаю:
A D G B E H C F I
IЯ не уверен, почему это так, но я подозреваю, что это потому, что каждый раз, когда ожидание разрешает обещание, он вызывает следующую функцию в стеке.Как бы я вызвал их так, чтобы они выполнялись синхронно, и я получил желаемый результат?