применить функцию после вызова ответа на данные - PullRequest
0 голосов
/ 14 февраля 2020

Я хочу применить функцию ползунка после вызова ответа API,

это мой код

async getProducts () {

                let response = await axios.get('{{url("/")}}/api/products?new=1&limit=6&order=desc&sort=created_at');
                const products = response.data.data;
                this.products = products;
                let element = document.getElementById("sliderContainer");
                element.classList.add("regular");
                this.applySlider();
}

, как вы видите, я использовал asyn c await, но функция applySlider () работала раньше ответ? в чем моя ошибка? Пожалуйста, помогите мне Заранее спасибо, это функция applySlider ()

applySlider() {
                if (this.products.length >= 1) {
                    $(".regular").slick({
                        //dots: true,
                        infinite: true,
                        slidesToShow: 4,
                        slidesToScroll: 4,
                        responsive: [
                            {
                            breakpoint: 992,
                            settings: {
                                slidesToShow: 3,
                                slidesToScroll: 3,
                                infinite: true,
                                dots: true,
                                arrows:false,
                            }
                            },
                            {
                            breakpoint: 768,
                            settings: {
                                slidesToShow: 2,
                                slidesToScroll: 2,
                                arrows:false,
                            }
                            },
                            {
                            breakpoint: 480,
                            settings: {
                                slidesToShow: 2,
                                slidesToScroll: 2,
                                arrows:false,
                            }
                            }
                        ]
                    });
                } 
            }

1 Ответ

0 голосов
/ 14 февраля 2020

Вы можете использовать , затем метод.

Метод then() возвращает Promise. Он принимает до двух аргументов: функции обратного вызова для случаев успеха и неудачи Promise.


Попробуйте что-то вроде этого:

axios.get('{{url("/")}}/api/products?new=1&limit=6&order=desc&sort=created_at')
  .then(response => {
    // handle success
    const products = response.data.data;
    this.products = products;
    let element = document.getElementById("sliderContainer");
    element.classList.add("regular");
    this.applySlider();
  })

Минимальный пример:

axios.get('{{url("/")}}/api/products?new=1&limit=6&order=desc&sort=created_at')
  .then(response => {
    this.products = response.data.data;
    document.getElementById("sliderContainer").classList.add("regular");
    this.applySlider();
})

Проверьте полный топор ios Документация Здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...