现在使用async/await是否安全?

Abh*_*eet 48 javascript async-await ecmascript-6 ecmascript-2017

现在在Javascript中使用async-await而不是生成器承诺是否安全,知道语法尚未生​​成并将随ES8的发布而来?

我可以指望哪些浏览器可用,以及这种语法不可用的浏览器有多常见?安全我的意思是没有像巴贝尔这样的转发器?

sle*_*man 64

每当我遇到这样的问题时,我会检查两个地方:

我可以使用网站:http://caniuse.com/#search=await

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

通常,鼓励回答包括相关信息以避免链接腐烂.但具有讽刺意味的是,这个答案恰恰相反:在上面的链接之前,这个答案会腐烂(下面的信息会变得无效).所以请先检查caniuse和node.green:

来自caniuse.com截至2017年2月:

  • IE:不支持(最常用的版本= 11)
  • 边缘*:从版本15(最常用的版本= 14)
  • Firefox:从版本52开始(最常用的版本= 50)
  • Chrome:从版本55(最常用的版本= 55)
  • Safari:从10.1版开始(最常用的版本= 10)
  • Opera:从42版开始(最常用的版本= 42)
  • iOS Safari:从版本10.3开始(最常用的版本= 10.2)
  • Opera Mini*:不支持
  • Android浏览器*:不支持(最常用的版本= 4.4)
  • 适用于Android的Chrome:从版本55开始(最常用的版本= 55)

来自node.green截至2017年2月

  • Node.js:从8.0.0版开始

因此,根据您认为可接受的内容,它既安全又不安全.请注意,大多数移动设备不支持它,截至2017年2月,大多数node.js安装都是版本6,其中一些开始转移到版本7(某些库似乎与节点7有问题),并且两个版本都不支持async/await.节点8尚未发布,仅作为夜间版本提供.

  • 根据[发行说明](https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/RevisionHistory.html#//apple_ref/doc/uid/TP40014305-CH99-SW1),添加了Safari 10.1 Safari对macOS *和iOS *的ECMAScript 2016和ECMAScript 2017支持,包括对异步和等待的支持。 (2认同)