首页 >web前端 >js教程 >为什么我的代码没有在 D3 v5 中的 d3.json() 回调内部执行?

为什么我的代码没有在 D3 v5 中的 d3.json() 回调内部执行?

DDD
DDD原创
2024-11-03 02:45:03781浏览

Why Isn't My Code Executing Inside the d3.json() Callback in D3 v5?

代码未在 D3.json() 回调中执行

问题:

在 D3 中v5,d3.json() 回调函数中编写的代码未执行。回调中放置的控制台日志将被跳过,从而阻止脚本的进一步执行。

答案:

D3 v5 在 d3.json 签名中引入了重大更改()。用于处理请求的回调函数已替换为可选的 RequestInit 对象。相反,d3.json() 现在返回一个可以使用其 .then() 方法处理的 Promise。

要解决该问题,请按如下方式更新代码:

d3.json("/trip_animate/tripData.geojson")
  .then(function(data){
    // Code from your callback goes here...
  });

D3 v5 中的错误处理机制也发生了变化。现在应该使用 Promise 的 .catch() 方法或通过将拒绝处理程序传递给 .then() 作为其第二个参数来完成错误处理。

以上是为什么我的代码没有在 D3 v5 中的 d3.json() 回调内部执行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn