d3 async await fetch.json не является функцией - PullRequest
0 голосов
/ 04 февраля 2019

Я использую библиотеку d3-fetch, чтобы иметь возможность использовать async / await , однако я получаю следующую ошибку: fetch.json не является функцией.

Хотя он работает с d3.json ().

Что я здесь не так делаю?

    async function fetchAllData() {

    try {

        let data = await fetch.json('https://api.myjson.com/bins/1cpi9w');
        return data;

        console.log("Initial data: ", data);

        console.log("type of n: ", indicateType(data[0].n));

        let format = d3.timeFormat("%Y");


        //Nesting data by category
        let updatedData = d3.nest()
            .key(d => d.category)
            .sortValues((a, b) =>  a.year - b.year)
            .entries(data);

        //Define xScale domain (min,max assume it has been sorted by year)
        xScale.domain([
            d3.min(updatedData, function(s) { return s.values[0].year; }),
            d3.max(updatedData, function(s) { return s.values[s.values.length - 1].year })
        ]);

        console.log("Nested data: ", updatedData);



        //Draw an SVG for each country

    } catch (error) {
        console.log(error);
    }
}

const indicateType = unevaluatedOperand => typeof unevaluatedOperand;

fetchAllData();

1 Ответ

0 голосов
/ 04 февраля 2019

fetch является частью Web API .Согласно документации, вызов fetch.json() не так, как он работает.

Вот рабочий пример:

async function fetchAllData () {
  // await response of a fetch call
  const response = await fetch('https://api.myjson.com/bins/1cpi9w');
  // once the promise is resolved convert the response to an object
  const data = await response.json();
  // your data has been converted to an object now)
  console.log('Initial data:', data);
  return data;
}

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