Безопасно ли использовать async/wait сейчас?

Можно ли использовать async-wait в Javascript вместо generators- promises, зная, что синтаксис еще не создан и придет с выпуском ES8?

В каких браузерах я могу рассчитывать на его доступность и насколько распространены браузеры, где этот синтаксис недоступен? В Safe я имею в виду без некоторых транспилеров, таких как babel?

Ответ 1

Есть два места, которые я проверяю всякий раз, когда у меня возникают такие вопросы:

Веб-сайт " Могу ли я использовать ": http://caniuse.com/#search=await

И Node Green: http://node.green/#async-functions

Обычно в ответ рекомендуется включать соответствующую информацию, чтобы избежать гниения ссылок. Но по иронии судьбы этот ответ имеет прямо противоположную проблему: этот ответ сгниет (информация ниже станет недействительной) задолго до ссылки выше. Поэтому всегда сначала проверяйте caniuse и node.green:

От caniuse.com по состоянию на апрель 2019 года:

  • IE *: НЕ ПОДДЕРЖИВАЕТСЯ (наиболее используемая версия = 11)
  • Edge: с версии 15 (наиболее используемая версия = 17)
  • Firefox: с версии 52 (наиболее используемая версия = 65)
  • Chrome: с версии 55 (наиболее используемая версия = 72)
  • Safari: с версии 10.1 (наиболее используемая версия = 12)
  • Opera: с версии 42 (наиболее используемая версия = 58)
  • iOS Safari: с версии 10.3 (наиболее используемая версия = 12.1)
  • Opera Mini *: НЕ ПОДДЕРЖИВАЕТСЯ
  • Браузер Android *: от 5 (наиболее используемая версия = 4.4)
  • Chrome для Android: начиная с версии 55 (наиболее используемая версия = 71)

От node.green по состоянию на апрель 2019 года

  • Node.js: с версии 8.0.0

Таким образом, в зависимости от того, что вы считаете приемлемым, это либо безопасно, либо небезопасно. Обратите внимание на следующее:

  • Этот вопрос первоначально задавался в 2017 году, и мы прошли долгий путь, поэтому использование async/await теперь намного безопаснее.
  • К 2019 году большинство мобильных устройств уже поддерживают async/await.
  • Node 8 выпущен в мае 2017 года, поэтому использование async/await на Node.js может быть безопасным, если только ваши серверы Node.js не сильно устарели.