эмуляция запроса axios

Можно ли с axios проделать такую штуку:
при попытке сделать запрос axios фактически ничего не делает, а возвращает подставленные данные. Необходимо для генерации моковых данных, т.е. при попытке обращения к api сервера axios не совершает никаких запросов, а в ответе лишь возвращает сгенерированный мок.


Ответы (1 шт):

Автор решения: Konstantin Modin

Проще всего написать асинхронную функцию которая будет возвращать Promise с данными.

const getDataFromServer = async () => {
  return await new Promise((resolve) => {
    setTimeout(() => resolve(yourDataHere), 1000);
  });
};

И вызывать её вместо axios. Пока данные "грузятся" можно отобразить спиннер. Так же можно в эту функцию добавить выдачу ошибки в определённый момент для тестирования. Например так:

const getDataFromServer = async () => {
  return await new Promise((resolve, reject) => {
    setTimeout(
      () => (Math.random() > 0.5 ? resolve(yourDataHere) : reject("Error msg")),
      1000
    );
  });
};
→ Ссылка