PLDB
Languages Features Calendar About Lists Add Language
GitHub icon

Async Await

Async Await

Async Await is a language feature.

In computer programming, the async/await pattern is a syntactic feature of many programming languages that allows an asynchronous, non-blocking function to be structured in a way similar to an ordinary synchronous function. It is semantically related to the concept of a coroutine and is often implemented using similar techniques, but is primarily intended to provide opportunities for the program to execute other code while waiting for a long-running, asynchronous task to complete, usually represented by promises or similar data structures. The feature is found in C# 5.0, Python 3.5, Hack, Dart, Kotlin 1.1, and JavaScript, with some experimental work in extensions, beta versions, and particular implementations of Scala, Rust, and C++.. Read more on Wikipedia...

Languages without Async Await include Ruby

Languages with Async Await include JavaScript, C#, Dart, X10

Example from JavaScript:

async doSomething => await somethingElse()

Example from C#:

public async Task<int> FindPageSize(Uri uri) { byte[] data = await new WebClient().DownloadDataTaskAsync(uri); return data.Length; }

Article source

PLDB - Build the next great programming language. v5.0.0 - Acknowledgements · Email · GitHub