Granted, the paragraph you're replacing isn't very clear, but it'd be better to replace it with a clearer one. "Asynchronous" deosn't mean your code can be executed out of an intended order, it means the effects or results don't return once the function call returns: they return at a different time (hence the term "asynchronous").

Asynchronous code is generally code that executes in parrallel with a main run loop and returns its data some time after the original call to the asynchronous code has returned. Thus, when you click a button to update some data, the browser is still responsive and able to execute more commands, beacuse the entire environment is asynchronous.

In order to deal with this kind of code, we need to use mechanisms to ensure we are in known states (ie that the asynchornous code we want to test has finished executing) before we proceed with making our assertions.