Comment by groundzeros2015

10 days ago

Why? You write the same code with async await but with a keyword at the beginning of every function.

Only if you ever deal with one future at a time. But async allows things like awaiting one of N events in a very natural way. Those patterns are much less readable when done with threads.

Because if you go down the callstack eventually you won't get the await keyword anymore; you'll get the actual 'waiters' and 'wakers' which define your scheduling