【问题标题】:Are the new async and await keywords in ES7 copied from C#? [closed]ES7 中新的 async 和 await 关键字是从 C# 复制而来的吗? [关闭]
【发布时间】:2016-03-16 08:52:23
【问题描述】:

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

【问题讨论】:

  • 这些概念 long 早于 C# 的实现。有许多其他语言具有类似的语言特性,C# 基于它们的实现。此外,它们是语言特性,它们不是 .NET 框架的特性。

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


【解决方案1】:

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

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

现在,几种主流语言都支持 future 和 promise,最引人注目的是 .NET 4.5(2010 年发布,2012 年发布)中的 asyncawait 结构在很大程度上受到 F# 的异步工作流的启发,这些语言可以追溯到到 2007 年。这随后被其他语言采用,尤其是 Dart (2014)、Python (2015)、Hack (HHVM) 以及 ECMAScript 7 (JavaScript)、Scala 和 C++ 的草案。

是的,JS 是从 C# 中借用的。

来自Futures and promises#History

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 2012-11-28
    • 1970-01-01
    • 2012-04-20
    • 2019-11-14
    • 2015-05-04
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    相关资源
    最近更新 更多