Ax ios Отправка запросов занимает больше времени, чем больше последующих запросов я делаю - PullRequest
0 голосов
/ 28 мая 2020

Последующие Ax ios запросы POST занимают все больше и больше времени. Сначала это происходит быстро, однако через некоторое время это займет больше времени (я измерил запрос, поместив console.time(), прежде чем я сделаю axios.post, а затем console.timeEnd() в ответ .then.

Журнал консоли показывает мне увеличенное время, которое поддерживается визуальной задержкой внешнего интерфейса. Запрос на публикацию не отправляет никакой полезной нагрузки (однако у меня есть JWT в заголовках Ax ios). Я делаю нормальный axios.post("endpoint"), поэтому я не знаю если добавление кода будет иметь любую ценность. Для простоты предположим, что каждый раз, когда я нажимаю кнопку, он отправляет запрос.

Важно отметить, что проблема наблюдается только при использовании Экземпляр ax ios. Если я просто использую пакет ax ios по умолчанию, т.е.

import axios from 'axios'

Тогда я не вижу никаких заметных проблем, все работает нормально, как ожидалось .

ПРИМЕЧАНИЕ. Я импортирую экземпляр Ax ios с кодом ниже:

import axios from "axios";

const instance = axios.create({}); // ALSO NOTE I HAVE SET HEADERS INSIDE THERE TOO AS AN ALTERNATIVE 
                                   // BUT THE ISSUE PERSISTED

(function () {
  const token = localStorage.getItem("token"); //I HAVE CHECKED TO MAKE SURE THIS IS ONLY EXECUTED ONCE
  if (token) {
    instance.defaults.headers.common["auth-token"] = token;
  }
})();

export default instance;

И этот код импортируется в мое промежуточное ПО следующим образом:

import axios from "../axios-instance"

Так все ни mal с этой точки зрения.

Вот наблюдения, которые я наблюдал до сих пор:

  1. Предположим, что запрос занимает 1-2 СЕКУНДЫ через 5-6 секунд (есть постепенное увеличение примерно от 50 мс до 2000, и он становится больше, но я обычно останавливаюсь на этом)

  2. Как только я обновляю sh страницу, цикл повторяется (первый запрос выполняется быстро, а следующий занимает больше времени и т. д.).

  3. Проблема наблюдается только тогда, когда один пользователь делает последующие запросы (запросы нескольких пользователей не влияют друг на друга).

  4. Код был протестирован с разными конечными точками, а также с использованием и vanilla JS XML HTTP-запросов, и проблема НЕ наблюдалась.

Только я хранить токен JWT в моем локальном хранилище, насколько это возможно.

...