Использую vue.js и axios для отправки запросов к API. Есть необходимость глобально настроить отображение заглушки на весь экран, если запрос выполняется долго
Выяснилось, что axios можно настроить глобально, чтобы отлавливать действия до момента отправки запроса, после получения ответа, а также ловить ошибки. В общем виде это выглядит так
axios.interceptors.request.use((config) => {
// Do something before request is sent
return config;
}, (error) => {
// Do something with request error
return Promise.reject(error);
});
// Add a response interceptor
axios.interceptors.response.use((response) => {
// Do something with response data
return response;
}, (error) => {
// Do something with response error
return Promise.reject(error);
});
Для вывода сообщений пользователю использую библиотеку f3oall/awesome-notifications (есть отдельный билд для vue). В документации указано, что заглушка на весь экран выводится вот так
asyncBlock(promise, onResolve, onReject, html)
Также можно отдельно завершать успехом или ошибкой
notifier.asyncBlock(Promise.resolve("all done")) // won't show anything after promise resolved
notifier.asyncBlock(Promise.reject("some error")) // will show a new alert toast with message "some error"
Однако как можно это использовать вместе с axios.interceptors
не понимаю. Ведь у меня два interceptors
. И как в первом, например, начать asyncBlock
, а во втором закончить?
Как быть? Может есть другие варианты?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть проект create-react-buildПосле сборки webpack добавляет к src всех файлов стилей, js лишний слеш вначале (см
У нас есть небольшой интернет магазин, из базы подгружается описания товараУ сайта есть 3 версии языка en, ru и italian
столкнулся со следующей проблемой - не получается отменить действие браузера по умолчанию при перетаскивании файла с рабочего стола, тобишь...