@diwlumoprif

Почему после отправки формы возвращается undefined? И что исправить?

Есть файл Form.js где есть вот такая часть кода:
/.....
onSubmit: async (formValues) => {
          console.log('submit', formValues);
          try {
              const response = await api('posts', {
                  method:'POST',
                  body: JSON.stringify(formValues)
              });
              console.log('Result!', response);
          } catch(e) {
              console.error(e);
          } 
      },    
/.....


и файл api.js в котором у меня метод fetch:
export const api = (url, args) => fetch(`${apiUrl}${url}`, {
   ...args,
    headers: {
      "Content-type": "application/json; charset=UTF-8",
      ...args.headers,  
    },
  }).then((data)=> data.json());


И все работает хорошо. Результат такой в консоли:
5e8f21b0269b6907159245.png

Но я решил переделать в файл api.js синтаксис then на async-await:
export const api = async (url, args) => { 
  const response = await fetch(`${apiUrl}${url}`, {
   ...args,
    headers: {
      "Content-type": "application/json; charset=UTF-8",
      ...args.headers,  
    },
  });
  const data = await response.json();   
}

и теперь у меня выводит в консоли undefined. Вот так:
5e8f22ae95333362738229.png

Почему возвращает undefined? Что иправить мне в коде?
  • Вопрос задан
  • 231 просмотр
Пригласить эксперта
Ответы на вопрос 1
@StockholmSyndrome
return await response.json();
Ответ написан
Ваш ответ на вопрос

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

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