Asynchronous means that the script will send a request to the server, and continue it’s execution without waiting for the reply. As soon as reply is received a browser event is fired, which in turn allows the script to execute associated actions.
Ajax knows when to pull data from server, because you tell it when to do it.