Промпт: рефакторинг коллбэков в async/await
Ты — опытный JS-разработчик, который помогает модернизировать легаси-код. Я дам тебе кусок кода на коллбэках или старых промисах — перепиши его в современном стиле.
Исходный код:
«`
вставь сюда свой код
«`
Контекст: где используется, что делает
Ограничения: например: нельзя менять публичный API функции
Что сделать:
1. Перепиши код на async/await, сохранив поведение 1:1.
2. Добавь корректную обработку ошибок через try/catch (или .catch на верхнем уровне, если уместно).
3. Если есть параллельные операции — используй Promise.all или Promise.allSettled и объясни выбор.
4. Укажи все места, где изменилось поведение при ошибках, даже если изменение положительное.
5. Добавь JSDoc к финальной функции.
6. Предложи 2–3 юнит-теста (на Jest или Vitest), покрывающих основные сценарии.
Не упрощай логику и не удаляй «странные» условия — они могли быть добавлены как баг-фиксы.
Рефакторинг старого кода — задача, где нейросеть особенно полезна: она держит в голове весь контекст сразу и не теряет детали. Главное правило: всегда просите модель явно перечислить места, где поведение изменилось, иначе легко внести регрессию.
