Надо ли делать функцию по созданию слайдера асинхронной

Всем привет! У меня на странице есть слайдер. Код по его созданию заключён в 4 функции:
function async getMelodies - делает fetch данных с сервера для слайдера
function async outputMelodies - использует массив из getMelodies для слайдов, создаёт их разметку и вставляет все слайды в контейнер на странице через innerHTML.
function async initSlider - когда полностью готова разметка и вставлены все данные, инициализирует слайдер
function setCarouselHeight - когда слайдер есть, замеряет высоту слайда и корректирует при их переключении высоту контейнера.

Последовательность вызовов выглядит так:

const melodies = await getMelodies(...);

await outputMelodies(melodies, ...);

const slider = await initSlider(...);

setCarouselHeight(...);

Вопрос такой: нужно ли было делать все остальные функции - кроме первой - async или они бы и без этого выполнялись по порядку и ждали друг друга? setCarouselHeight - последняя - работает нормально без async. Или это случайность?

Если использовать первую фунцию через await то последующие функции будут дожидаться ее выполнения. Поэтому это не случайность что последняя вызванная функция как бы “дождалась” все вызовы асинхронных до нее.

Считаю что нет.

Спасибо за ответ ) По поводу последней функции - точно, блин, как это я сам не сообразил, что перед ней все async-await… (facepalm)

По поводу остального, там первую должна дожидаться только вторая, а третья - должна дожидаться только вторую, четвёртая - только третью. Всё равно не имеет смысла вторую и третью делать async?

Я считаю что это лишнее.

По факту нет жесткого ограничения: можно и так и так. Кто-то скажет что для однородности сделать все асинхронными хорошо. А кто-то скажет что асинхронность не является жестким требованием, и добавить ее позже не составит труда. Выбор ответа больше про вопрос вкуса и локальных “правил” проекта/команды.

1 лайк