Concurrency 101

Quoting from How to avoid cascading async functions?

@j-f1 explains nicely why the above attempt is an anti pattern.

But, is there really no practical solution for this that can be used when the sync world meets the async world in real life?

Update: There is a safe solution