使用d3加载数据时出现“ TypeError:无法读取未定义的属性'then'”

时间:2018-12-06 23:14:11

标签: javascript d3.js es6-promise

我的代码中有两个类,两个类都使用d3。我有一个主类Main.js,它实例化了另一个类Data.js的实例,该实例从csv加载数据,然后将d3.nest应用于该类。我收到“未捕获的TypeError:无法读取未定义的属性'then'”。来自主要阶层的诺言。

这是主类中的相关代码:

this.data = new Data();

this.mainChartData = this.data.loadNestedData().then(nestedData => {  // error
  console.log(nestedData);
});

这是数据类:

class Data {
  constructor() {}

  loadNestedData() { d3.csv("data.csv").then((loadedData) => {
      console.log(loadedData);  // this logs correctly
      this.nestedData = d3.nest()
         .key(function(d) { return d.gameID; })
         .entries(loadedData);
      console.log(this.nestedData); // this logs correctly
      return this.nestedData;
  });
}

1 个答案:

答案 0 :(得分:0)

您在这里缺少退货:

loadNestedData() { d3.csv

应该是

loadNestedData() { return d3.csv