Async/await


async/awaitパターンは、多くのプログラミング言語における構文機能であり、非同期非ブロッキング関数を通常の同期関数と同様の方法で構築できる。それは意味的にコルーチンの概念と関連し、多くの場合は類似した技術を使用して実装される。主に実行時間の長い非同期タスクの完了を待っている間に他のコードを実行する機会の提供を目的とし、通常は promise または同様のデータ構造で表される。

この機能はC# 5.0、VB.NET 11、Python 3.5、HackDartKotlin 1.1、Rust 1.39[1]Nim 0.9.4[2]ECMAScript (JavaScript) 2017 (ES2017)、C++20にて利用できるほか、Scala[3]などでもいくつかの拡張、ベータ版、および特定の実装において実験的な成果物がある。

  1. ^ Announcing Rust 1.39.0” (英語). 2019年11月7日閲覧。
  2. ^ Version 0.9.4 released - Nim blog” (英語). 2020年1月19日閲覧。
  3. ^ Scala Async”. 20 October 2013閲覧。

Developed by StudentB