Как согласовать аргументы callback в runSpinner

Callback получает только те аргументы, которые передал вызывающий код. Если spinner вычисляет результат, он должен вызвать onRoll с этим результатом.

Короткий ответ

Что ответить на собеседовании

Callback получает только те аргументы, которые передал вызывающий код. Если spinner вычисляет результат, он должен вызвать onRoll с этим результатом.

Подробный разбор

Ответ с пояснениями

Условие

Контракт функции: runSpinner(onRoll) вызывает onRoll() без аргументов. Пользователь передаёт (value) => setResult(value) и получает undefined. Как исправить контракт, если результат вычисляет spinner?

Ответ

Callback получает только те аргументы, которые передал вызывающий код. Если spinner вычисляет результат, он должен вызвать onRoll с этим результатом.

Например: function runSpinner(onRoll) { const value = Math.floor(Math.random() * 6) + 1; onRoll(value); }. Задокументируйте результат как целое от 1 до 6. Если callback предназначен лишь для уведомления о старте, оставьте его без аргументов, а готовый результат передавайте другим callback или возвращаемым Promise. Имя параметра само по себе данные не создаёт.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее