未捕获的类型错误:d3.queue 不是函数 D3.js

Ham*_*mad 4 javascript d3.js chord-diagram

我正在尝试使用 D3.js 创建一个 Chord Diagram 来显示不同客户和供应商之间的关系,但是在运行页面时我不断收到以下错误,这是我的代码:

未捕获的类型错误:d3.queue 不是 chord.html:47 的函数

      d3.queue()
        .defer(d3.json, 'NewData/Client_Supplier-matrix.json')
        .defer(d3.csv, 'NewData/Client_Supplier.csv')
        .await(function(err, matrix, mmap) { 
          if (err) console.log(err);
          _.each(mmap, function (d, i) { d.id=i; d.data=d.color })
          drawChords(matrix, mmap);
        });
Run Code Online (Sandbox Code Playgroud)

Luk*_*ard 6

您似乎正在尝试使用 D3 v5 来运行专为 D3 v4 设计的代码。根据D3 5.0 发行说明

D3 5.0 还弃用并删除了 d3-queue 模块。使用 Promise.all 并行运行一批异步任务,或者使用 p-queue 等辅助库来控制并发。

这个问题对于如何转换的例子d3.queuePromise.all