This is Rust, which is a language that doesn't have data races (though other kinds of races are certainly possible).
For an application like yazi async is likely a much more pleasurable experience to write code in than trying to manage threads and cancellations by hand.