Нужно с помощью async/await написать функцию которая принимает массив асинхронных функций и последовательно(следующая начинается, когда закончилась предыдущая) вызывает их, передавая в аргументы результат вызова предыдущей функции.
Пример:
const first = () =>
new Promise((resolve) => setTimeout(() => resolve(300)), 300);
const second= () =>
new Promise((resolve) => setTimeout(() => resolve(200)), 200);
const third = () =>
new Promise((resolve) => setTimeout(() => resolve(100)), 100);
promises([first, second, third]);
// Выполнит resolve(300) через 300 мс, потом resolve(200) через 200 мс, потом resolve(100) через 100 мс
// [300, 200, 100]
Куда копать?