2017-01-22 8 views
0

Я слышал, что браузеры выпускают ограниченное количество одновременных запросов (например, 2 или 6).Выполнение JS-блока браузера на нескольких одновременных асинхронных XMLHttpRequest?

Если я выдаю несколько XMLHttpRequest.send(), мой код JS заблокирован в какой-то момент (например, по вызову send)?

Или все запросы, собранные в очереди браузеров, и только часть из них будет отправлена ​​в сеть?

ответ

2

Правильно, браузер будет отправлять только определенное количество запросов параллельно. Однако ваш код не будет блокироваться, если вы не отправляете синхронные запросы xhr (чего вы, скорее всего, не делаете).

Когда макс. достигнут предел параллельного запроса, браузер будет ставить в очередь другие запросы и обрабатывать их, как только завершатся другие запущенные запросы. Но этот механизм не влияет на ваш код. Единственное отличие заключается в том, что длительность запросов (длительность = время завершения запросов - время выдачи запроса в JS) увеличивается.