Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'then')

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'then')

我正在使用 object 定向图表并根据滚动位置设置数据。 我正在使用 d3.csv() 通过 then() 加载数据,如下所示:

const chart = new Chart(instatiatechartfunctions);

let dataObj1 = d3.csv('datapath', dataparsefunction);
let dataObj2 = d3.csv('datapath2', dataparsefunction);

let dataArr = [dataObj1,dataObj2];

function init(data){
     chart.setData(data);
    }

let g3 = scrollerfunction().settings()
                           .on('active', function(i){
                                dataArr[i].then(init); //error here
                                });

将滚动条库与图表的所有代码一起包含在内对我来说相当复杂,所以我希望以上内容足够清楚。 我的主要问题是在没有 () 的情况下调用 then() 中的 init 显示图表,但 returns 显示标题中的错误。当我使用括号 (then(init())) 时,出现以下错误:

Uncaught TypeError: Cannot read properties of undefined (reading '0')

我正在使用 d3.v6 有人可以帮忙吗?

不带括号的 .then(init) 等价于说 .then((array) => init(array)),因为在这两种情况下,您都给 .then 一个 one-argument 函数来执行 return 你的承诺。如果错误随后出现在标题中,我猜那部分代码有问题,但这里没有。