async: Coroutines: Generators / Yield, Async / Await, and Streams

Write sequential-looking code that pauses and resumes. gen() creates a generator, an iterator that returns a value and pauses each time it reaches a yield() call. async() creates a promise, which runs until it reaches a call to await(), then resumes when information is available. These work similarly to generator and async constructs from 'Python' or 'JavaScript'. Objects produced are compatible with the 'iterators' and 'promises' packages. Version 0.3 supports on.exit, single-step debugging, stream() for making asynchronous iterators, and delimited goto() in switch() calls.

Package details

AuthorPeter Meilstrup [aut, cre]
MaintainerPeter Meilstrup <>
Package repositoryView on CRAN
Installation Install the latest version of this package by entering the following in R:

Try the async package in your browser

Any scripts or data that you put into this service are public.

async documentation built on May 31, 2023, 9:38 p.m.