ES7中的新异步和等待关键字是否是从C#复制的?

时间:2015-12-10 16:13:35

标签: javascript c# asynchronous async-await ecmascript-7

注意到在Java中找不到async和await,ES7中的这些新关键字是从C#语言复制的吗?我很好奇它的起源:谁提出了关键字名称,JS社区中有人正在利用.NET框架中的概念吗?

1 个答案:

答案 0 :(得分:20)

使用承诺(或期货等)的概念正变得越来越流行,但它并不新鲜。例如,您可以在MultiLisp中找到它。

asyncawait关键字最近在C#中使用,现在正在扩展到许多其他语言。

  

现在有几种主流语言对期货和承诺都有语言支持,最值得推崇的是.NET 4.5中的asyncawait结构(2010年发布,2012年发布),主要受到异步工作流的启发。 F#,可以追溯到2007年。随后被其他语言采用,特别是Dart(2014),Python(2015),Hack(HHVM)以及ECMAScript 7(JavaScript),Scala和C ++的草稿。

所以是的,JS正在借用C#。

来自Futures and promises#History