Ответ 1
Подпись d3.json
изменилась с D3 v4 на v5. Он был перенесен из теперь устаревшего модуля d3-запроса в новый модуль d3-fetch. Начиная с версии 5 D3 использует API-интерфейс Fetch в пользу более старого XMLHttpRequest
и, в свою очередь, использовал Promise для обработки этих асинхронных запросов.
Второй аргумент d3.json()
больше не является обратным обработкой запроса, а необязательным объектом RequestInit
. d3.json()
вернет обещание, которое вы можете обработать в его методе .then()
.
Таким образом, ваш код будет выглядеть следующим образом:
d3.json("/trip_animate/tripData.geojson")
.then(function(data){
// Code from your callback goes here...
});