Demystifying Async in Rust (fun project)
Have you ever wondered: how can async functions stop at an await point, and then we are able to continue from that await point? well, me too!
This is interesting, because it sounds like this is impossible to achieve with synchronous code. The async/await keywords will compile down to some synchronous instructions in the end...
If we want to stop a function, the only way to get out is: to return from it. But when we return, we lose all the stack/info about the function. So, how do we stop a function at some point, and continue from where we left off? This is what async functions are all about, right?
This project is for revealing the magic of the async functions. It tries to uncover every single secret of the async concept, with examples that you can play with!
Hope you like it \^\^
Any feedback is welcome, and if you want to submit a PR, go ahead! I plan this to become an open-source project :)