Мне нужна помощь. У меня есть приложение для реагирования, которое использовало сообщение axios для веб-форм для запроса/отправки некоторых данных в бэкэнд. Простой вызов axios.post("path", data).
При первом сообщении axios ответ займет около 20 секунд (для ответа данных) Прежде чем первый пост будет завершен, пользователь может щелкнуть другой компонент реакции, который сделает еще один пост axios, который займет около 1 секунды (небольшие данные).
В сети chrome dev, когда первое сообщение находится на рассмотрении, я вижу, что второе сообщение, которое должно было занять всего 1 секунду, вместо этого потребовало на 1 секунду больше времени, чем первое сообщение axios для ответа. Например: первая аксиальная почта заняла 20 секунд, вторая аксиальная почта заняла 21 секунду.
Скриншот вкладки сети chrome dev -> https://imgur.com/a/Op1uyqb
+Отметка красным цветом — это второй пост.
+Отметить синим цветом первый пост.
Предполагается ли, что второй пост будет продолжен только после завершения первого поста? Кажется, я не могу использовать axios.all в моем случае, есть ли способ сделать axios публиковать асинхронно?
EG: Когда пользователь нажимает на другой компонент, когда первое сообщение ожидает ответа, сообщение другого компонента также должно занять всего 1-2 секунды.
Я ожидаю, что второй пост, которому обычно требуется всего около 1-2 секунд, чтобы получить ответ, сможет работать нормально, даже когда первый пост ожидает ответа.
Заранее спасибо.
Привет @Panther, насколько я понимаю, у Chrome есть ограничение в 6 сетевых вызовов. Когда это произойдет, последующий сетевой вызов будет иметь над ними серую полосу (остановлен), или я неправильно понимаю? По вашему предложению после повторной проверки я подтвердил, что это единственные несколько сетей, которые в настоящее время запрашивают.





Я обнаружил, что проблема связана с сеансом веб-формы aspx в соответствии с http://hogaf.github.io/archive/2014/11/13/why-asp.net-requests-are-processed-sequentially. Я добавил enablesessionstate в readonly, что-то вроде: <%@ Page EnableSessionState="ReadOnly">, и запрос больше не будет зависать.
Оставьте ответ здесь на случай, если у кого-то возникнет такая же проблема.
Это поведение браузера. Существует ограничение на количество сетевых вызовов. Может быть, у вас есть больше запросов до 1-секундного запроса. Axios поддерживает отмену запроса, которую вы можете изучить, чтобы отменить существующий запрос, когда он вам не нужен.