Async await problem solved

Jacob Carlborg doob at me.com
Fri Dec 11 19:51:18 UTC 2020


On 2020-12-09 10:16, aberba wrote:
> It's been there for a while.
> 
>> This library provides a very easy-to-use async/await library for D. It 
>> consists of only three functions: async, await, and startScheduler. 
>> The library is build on top of D's fibers and allows for easier 
>> cooperative multitasking.
> 
> import std.stdio;
> 
> int calculateTheAnswer() {
>      import core.thread : Thread;
>      Thread.sleep(5.seconds);
>      return 42;
> }
> 
> void doTask() {
>      writeln("Calculating the answer to life, the universe, and 
> everything...");
>      int answer = await(calculateTheAnswer());
>      writeln("The answer is: ", answer);
> }
> 
> void main() {
>      startScheduler({
>          doTask();
>      });
> }
> 
> https://code.dlang.org/packages/dawait

I don't think it's that simple. To be efficient you need to use 
no-blocking IO and have an event loop as well.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list