使用promise在d3版本5中加载外部数据

时间:2018-05-04 12:04:11

标签: javascript d3.js promise xmlhttprequest

我在d3版本5中进行了更改:https://github.com/d3/d3/blob/master/CHANGES.md

此版本中最重要的变化之一是加载外部csv / tsv / json数据。 D3现在将数据加载为承诺而不是XHR。因此,数据加载过程将从许多方面改变(回调,错误处理等)。

从以上链接引用:

  

D3现在使用Promises而不是异步回调来加载数据。 Promise简化了异步代码的结构,特别是在支持异步和等待的现代浏览器中。

     

例如,要在v4中加载CSV文件,您可能会说:

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,promises)如何工作,所以我想知道,这种变化背后的原因是什么,以及作为开发人员如何改进数据加载功能。

感谢您的帮助。

0 个答案:

没有答案