为了账号安全,请及时绑定邮箱和手机立即绑定

不执行d3.json()回调中的代码

不执行d3.json()回调中的代码

慕莱坞森 2019-07-31 10:46:57
不执行d3.json()回调中的代码我正在尝试加载GeoJSON文件并使用它作为D3 v5的基础绘制一些图形。问题是浏览器正在跳过d3.json()调用中包含的所有内容。我尝试插入断点进行测试,但浏览器会跳过它们,我无法弄清楚原因。下面的代码片段。d3.json("/trip_animate/tripData.geojson", function(data) {   console.log("It just works");  // This never logs to console.   //...all the rest}代码从最初开始继续console.log(),但我省略了所有这些,因为我怀疑这个问题与d3.json调用本身有关。
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

的签名d3.json已经改为从D3 V4到V5。它已从现已弃用的模块d3-request移至新的d3-fetch模块。从v5开始,D3使用Fetch API支持旧版本XMLHttpRequest,并且反过来采用Promises来处理这些异步请求。

第二个参数d3.json()不再是处理请求的回调,而是一个可选RequestInit对象。d3.json()现在将返回一个你可以在其.then()方法中处理的Promise 。

你的代码因此变成:

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


查看完整回答
1 反对 回复 2019-07-31
  • 1 回答
  • 0 关注
  • 713 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号