Выполнение синхронного запроса Axios

72
26 июня 2021, 14:00

Как выполнить синхронный запрос через axios?

              $(event.target.files).each(function( index,value,form ) { //Идем по массиву загруженных картинок
                let formData = new FormData();
                formData.append('image', value);  //Присваиваем переменной загруженную фотку
                axios.post('/upload/article/images',formData,config) //Загружаем фотку на сервак и присылаем обратно название
                    .then((response) => {
                        if (response.data.error === 0) {
                            let el = that.form.find((f, idx) => f.galleryIndex == '' && idx >= tnum);
                            if (el){
                                el.galleryIndex = value.name
                            }
                            else{
                                that.form.push({
                                    title: '',
                                    description: '',
                                    galleryIndex: value.name
                                });
                            }
                            toast.fire({
                                type: 'success',
                                title: response.data.message
                            });
                        }else{
                            toast.fire({
                                type: 'error',
                                title: response.data.message
                            });
                        }
                        that.loading = false;
                    })
                    .catch(error => {});
            });
Answer 1

Можете воспользоваться async/await конструкциями, которые позволяют писать "синхронный код" для асинхронных задач

async function loadData() {
  const response = await fetch('url');
  // далее делаем что-нибудь с response
  сonst data = await response.json();
  console.log(data);
}
// где-то в коде
await loadData(); // можно и без await, если дожидаться рузультата не обязательно

P.S. Вообще, до fetch для запросов использовали XMLHttpRequest, который позволял делать именно синхронные запросы

var xhr = new XMLHttpRequest();
xhr.open('GET', 'url', false); // параметр false означает синхронность

Подребнее
async/await
xmlhttprequest

READ ALSO
выделить другим цветом ссылку, которая перевела на определенную часть страницы

выделить другим цветом ссылку, которая перевела на определенную часть страницы

Есть страница, навигация по ней работает по ссылкам, каждая ссылка ведет на определенную часть страницы

72
Проблема с import React from 'react';

Проблема с import React from 'react';

у меня есть employeejsx которых отображает employee и все окей но как только я добавляю export default Employees для того что бы класс использовать в другом месте,...

79