Обновление облачного JavaScript: обработка промисов

Обновление облачного JavaScript: обработка промисов

Мы работаем над тем, чтобы наш облачный JavaScript все более соответствоал стандартам! Начиная с августа 2018 года, отклоненные промисы без условия «catch» вызовут остановку облачного сценария с сообщением «Unhandled promise rejection». Это обновление ставит наш JavaScript-движок на один уровень с современными веб-браузерами и позволяет проще писать правильные сценарии. Отсутствие обработки исключения и отсутствие обработки отклоненного промиса теперь обрабатываются одинаково – мы уведомляем разработчиков о возможных проблемах в логике их кода.

До обновления в августе 2018 отклоненные верхнеуровневые промисы никак не обрабатываются нашим JS-движком:

AI.detectVoicemail(call)
  .then(e => {/* Этот код выполнится, если определится автоответчик */});
// Но что произойдет, если автоответчик НЕ определится? Ничего. И это неправильно.

После обновления в августе 2018 код выше будет останавливать выполение JS-сценария в случае отклоненного промиса, причем разработчики увидят сообщение об ошибке. Ниже указан код, который явно указывает, что делать с отклоненным промисом:

AI.detectVoicemail(call)
  .then(e => {/* Этот код выполнится, если определится автоответчик */})
  .catch(e => {/* Этот код выполнится, если автоответчик НЕ определится */});
Теги:javascriptES2015promises
B6A24216-9891-45D1-9D1D-E7359CEB8282 Created with sketchtool.
Комментарии(0)
Добавить ваш комментарий

Пожалйуста, заполните это поле.

Рекомендации
Зарегистрируйтесь, чтобы получить бесплатный аккаунт разработчика, или свяжитесь с нашими специалистами