@aheles

Vue + axios, как отменить предыдущий запрос если выполнился новый?

Есть кнопка, по которой идет запрос на сервер, который возвращает json. Если человек много раз нажимает кнопку, то идет бесконечное кол-во запросов, нужно чтобы, если вызвался новый запрос, то нужно оборвать предыдущий, и выполнить этот (новый)
Сам axios:
getSchedules(locationId, gameModeId, selectedHeadsets, day) {

                let param = 'locationId=' + locationId + '&gameModeId=' + gameModeId + '&headsets=' + selectedHeadsets

                if (day)
                    param += '&day=' + day;

                return axios({
                    method: 'get',
                    url: '/schedules?' + param
                }).then((response) => {

                    this.schedules = response.data.schedules;
                    this.backDateWeek = response.data.backDateWeek;
                    this.nextDateWeek = response.data.nextDateWeek;
                    this.isAuth = response.data.auth;
                    this.requestPhone = response.data.requestPhone;

                    this.showDay = response.data.currentDay;

                    this.weeks = response.data.weeks;
                    this.selectedWeek = response.data.currentWeek;
                    this.account = response.data.account;
                    this.curDateEvent = response.data.cur_day

                    if(this.curDateEvent){
                        this.changeMobileDay(this.curDateEvent);
                    }

                }).catch((error) => {

                });
            },

Вызов метода:
this.getSchedules(this.selectedLocationId, this.selectedGameModeId, this.selectedHeadsets,day).then(()=>{
                    document.getElementById('stepView4').scrollIntoView({behavior:'smooth'});
                });
  • Вопрос задан
  • 1054 просмотра
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы