Uncaught TypeError: d3.queue не является функцией D3.js

Я пытаюсь создать диаграмму аккордов, используя D3.js, чтобы показать отношения между различными клиентами и поставщиками, но при запуске страницы я продолжаю получать следующую ошибку, и вот мой код:

Uncaught TypeError: 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);
        });

person Hamad    schedule 16.11.2019    source источник


Ответы (2)


Похоже, вы пытаетесь использовать D3 v5 для запуска кода, разработанного для D3 v4. Согласно примечаниям к выпуску D3 5.0:

D3 5.0 также не рекомендуется и удаляет модуль d3-queue. Используйте Promise.all для параллельного запуска пакета асинхронных задач или вспомогательную библиотеку, например p-queue, для управления параллелизмом.

См. этот вопрос для примера того, как преобразовать d3.queue в Promise.all.

person Luke Woodward    schedule 16.11.2019

попробуйте эту команду npm install d3-queue

person Руслан Тютин    schedule 15.05.2020