Почему выборка (API) дает мне неопределенное? - PullRequest
0 голосов
/ 16 апреля 2020

Я создал API, используя Flask, и он отлично работает при использовании его в Postman, давая мне JSON. В любом случае, когда я пытаюсь получить его в javascript, он дает мне неопределенное значение:

api = 'http://127.0.0.1:5000/';

const getData = () => {
  fetch(api)
    .then(response => {
      response.json();
    })
    .then(data => {
      console.log(data);
    });
};
getData();

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

undefined

Ответы [ 2 ]

7 голосов
/ 16 апреля 2020

Вам необходимо вернуть данные json (return response.json();), фиксированный фрагмент:

api = 'http://127.0.0.1:5000/';

const getData = () => {
  fetch(api)
    .then(response => {
      return response.json();
    })
    .then(data => {
      console.log(data);
    });
};
getData();
1 голос
/ 16 апреля 2020

Вы получаете неопределенное значение, потому что ничего не возвращаете. Каждая функция возвращает неопределенное значение, если вы не return что-то.

api = 'http://127.0.0.1:5000/';

const getData = () => {


fetch(api)
  .then(response =>{

     return response.json();

    })

.json() тоже асинхронно, поэтому после вызова функции ur вам потребуется блок .then().

getData().then( res => {
   console.log(res);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...