How Javascript Handle Asynchronous Learning