Загрузка внешних данных в d3 версии 5, используя обещание - PullRequest
0 голосов
/ 04 мая 2018

Я проходил изменения в d3 версии 5 здесь: https://github.com/d3/d3/blob/master/CHANGES.md

Одним из наиболее важных изменений в этой версии была загрузка внешних данных csv / tsv / json. D3 теперь загружает данные как обещание, а не как XHR. Следовательно, процесс загрузки данных будет меняться во многих отношениях (обратный вызов, обработка ошибок и т. Д.).

Цитирование по вышеуказанной ссылке:

D3 теперь использует Promises вместо асинхронных обратных вызовов для загрузки данных. Обещания упрощают структуру асинхронного кода, особенно в современных браузерах, которые поддерживают async и await.

Например, чтобы загрузить файл CSV в v4, вы можете сказать:

d3.csv("file.csv", function(error, data) {
  if (error) throw error;
  console.log(data);
});
In v5, using promises:

d3.csv("file.csv").then(function(data) {
  console.log(data);
});

Обратите внимание, что вам не нужно сбрасывать ошибку - обещание будет отклонено автоматически, и вы можете обещать. поймать при желании.

Что означают вышеприведенные утверждения? Я не очень хорошо знаком с тем, как работают html-запросы (XHR, обещания), поэтому я хотел знать, каковы причины этого изменения и как разработчику, как это улучшает функциональность загрузки данных.

Заранее спасибо за помощь.

...