Is it safe to use async/await now?

Abhijeet picture Abhijeet · Feb 12, 2017 · Viewed 34.6k times · Source

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?

Answer

slebetman picture slebetman · Feb 12, 2017

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.