Как уже было сказано, вы не можете гарантировать порядок, в котором возвращаются результаты. Но если необходимо иметь возможность определить это, вы можете создать уникальный идентификатор для каждого сделанного асинхронного запроса, а затем отсортировать входящие ответы соответственно.
Примером, где я вижу такое решение полезным, является выполнение действий при нажатии клавиши (например, onkeyup). Делая что-то вроде этого, вы можете захотеть закодировать метку времени, номер версии или подобное, чтобы вы могли гарантировать какой-то порядок. Если пользователь пытается выполнить поиск «test», возможно, что ответ автозаполнения «tes» будет возвращен до ответа «te». Если вы просто перезаписываете данные автозаполнения, это, очевидно, не будет желательным поведением, так как вы могли бы отображать неверные результаты для текущих поисковых токенов.
Кодирование отметки времени (или уникального идентификатора, счетчика, номера версии, ключа и т. Д.) Позволит вам проверить это, чтобы убедиться, что у вас самый актуальный ответ, или отсортировать результаты по отметке времени, если вам нужно чтобы гарантировать заказ и т. д.