Is it safe to use async/await now?

JavascriptEcmascript 6Async AwaitEcmascript 2017

Javascript Problem Overview


Is it safe to use async-await in Javascript instead of generators-promises now, knowing that the syntax has not made yet and will be coming with the release of ES8?

What browsers can I count on it being available, and how common are the browsers where this syntax is not available? By Safe I mean without some transpilers like babel?

Javascript Solutions


Solution 1 - Javascript

There are two places I check whenever I have questions such as this:

The Can I Use website: http://caniuse.com/#search=await

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

Typically an answer is encouraged to include the relevant information to avoid link rot. But ironically this answer has exactly the opposite problem: this answer will rot (the information below will become invalid) long before the links above. So always check caniuse and node.green first:

From caniuse.com as of April 2019 :

  • IE *: NOT SUPPORTED (most used version = 11)
  • Edge: From version 15 (most used version = 17)
  • Firefox: From version 52 (most used version = 65)
  • Chrome: From version 55 (most used version = 72)
  • Safari: From version 10.1 (most used version = 12)
  • Opera: From version 42 (most used version = 58)
  • iOS Safari: From version 10.3 (most used version = 12.1)
  • Opera Mini *: NOT SUPPORTED
  • Android Browser *: From 5 (most used version = 4.4)
  • Chrome for Android: From version 55 (most used version = 71)

From node.green as of April 2019

  • Node.js: From version 8.0.0

So depending on what you think is acceptable it is either safe or not safe. Note the following:

  • This question was originally asked on 2017, and we have come a long way so async/await is much more safe to use now.
  • By 2019, most mobile devices already support async/await.
  • Node 8 is released on May 2017 so it should be safe to use async/await on Node.js unless your Node.js servers are very outdated.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAbhijeetView Question on Stackoverflow
Solution 1 - JavascriptslebetmanView Answer on Stackoverflow