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.