обработка данных

Нажмите сюда, если долго загружается,
либо "ESC" - отмена
 
Заказ обратного звонка
Заказать звонок
Наш специалист свяжется с Вами и ответит на все вопросы
Обработка данных
Наш специалист свяжется с Вами и ответит на все вопросы.
OK

Не нужно оборачивать все в Promise

Источник: https://habrahabr.ru
Время чтения: ~2 мин
Не нужно оборачивать все в Promise
Статьи
751
Источник: codedream.me
Немного о культуре использования Promise в JavaScript.
Представим что мы разрабатываем функцию isPi:
CODE
И тут кто-то говорит: "Мы не хотим знать откуда приходят данные (БД, сеть и т.д.), по-этому давайте обернем наш код в Promise":
CODE
И будем вызывать функцию так:
CODE
– круто, да? – Нет

Проблема в том, что утверждение: "Мы оборачиваем код в Promise, чтобы не парится асинхронный код или синхронный" – не верно. Мы не оборачиаем код, но Promise это "что-то", что может:

- либо "разрешиться" с значением;
- либо "сорваться" с ошибкой.

когда-нибудь в будущем:
CODE
А значит мы можем удалить избыточный код:
CODE
Вы можете спросить: ну ладно, начальный код чуть избыточен, что в этом плохого? Проблема возникает когда мы пытаемся добавить обратку ошибок – очень легко закончить с чем-то вроде:
CODE
Это плохо потому что теперь наша функция через ошибки знает слишком много о месте откуда мы взяли Promise. Правильный способ переписать этот код выглядит так:
CODE
Несколько простых правил:

- старайтесь обрабатывать ошибки как можно "ближе" к возможному их источнику;- четко отделяйте в коде асинхронные операции от синхронных. В противном случае вы, скорее всего, закончите с очень "связанным" кодом.
Поделиться
Поделиться
Поделиться
Поделиться
Поделиться
Поделиться
Поделиться
Подписка на новости. Получайте важное первым
ПОДПИСАТЬСЯ