Практическая задача: написать функцию, которая принимает число и возвращает Promise с результатом проверки на чётность/нечётность, а при ошибке (не число) возвращает -1.

Функция, которая принимает число и возвращает Promise с результатом проверки на чётность/нечётность, а при ошибке возвращает -1, может выглядеть так:

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

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

Функция, которая принимает число и возвращает Promise с результатом проверки на чётность/нечётность, а при ошибке возвращает -1, может выглядеть так:

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

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

Функция, которая принимает число и возвращает Promise с результатом проверки на чётность/нечётность, а при ошибке возвращает -1, может выглядеть так:

function checkParity(value: any): Promise<string | number> {
  return new Promise((resolve) => {
    if (typeof value !== 'number' || isNaN(value)) {
      resolve(-1);
    } else if (value % 2 === 0) {
      resolve('чётное');
    } else {
      resolve('нечётное');
    }
  });
}

// Пример использования:
checkParity(4).then(console.log); // "чётное"
checkParity(7).then(console.log); // "нечётное"
checkParity('abc').then(console.log); // -1

Здесь мы проверяем тип и валидность входного значения, и возвращаем результат в Promise, что удобно для асинхронного использования.

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

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

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

Подробнее