本地 D3 无法在线工作
Local D3 Not working Online
我最近尝试将我在本地处理的 D3 项目移动到 github,但是 运行 遇到了问题。这是它在当地的样子:
要点在这里在线:https://gist.github.com/KingOfCramers/6057411e8c55d87a5894291aefbe0b6d
我正在使用承诺包装器来加载资源,然后在它解析时使用 .all 函数来触发我的可视化。相关的代码如下所示:
var promiseWrapper = (xhr, d) => new Promise(resolve => xhr(d, (p) => resolve(p)))
Promise.all([promiseWrapper(d3.json,"yemen.json"),promiseWrapper(d3.csv,"droneData.csv")]).then(resolve =>{
createMap(resolve[0],resolve[1])
})
function createMap(districts,drones){...visualization code...
当我将可视化上传到 github 时,块页面告诉我它无法访问我的 json 数据的特征数组。我在本地工作时不会收到此错误。我将此错误消息记录到控制台:"Uncaught (in promise) TypeError: Cannot read property 'features' of null." 我做错了什么?
我将提供一个替代方案,但我不确定这是否能回答您的问题。
d3 提供了自己的排队机制,可以完成您使用 pomiseWrapper 所做的事情。
见https://github.com/d3/d3-queue
d3.queue()
.defer(d3.json, "yemen.json")
.defer(d3.csv, "droneData.csv")
.await(createMap);
function createMap(error, districts, drones) {....
你有工作 fiddle 吗?
我最近尝试将我在本地处理的 D3 项目移动到 github,但是 运行 遇到了问题。这是它在当地的样子:
要点在这里在线:https://gist.github.com/KingOfCramers/6057411e8c55d87a5894291aefbe0b6d
我正在使用承诺包装器来加载资源,然后在它解析时使用 .all 函数来触发我的可视化。相关的代码如下所示:
var promiseWrapper = (xhr, d) => new Promise(resolve => xhr(d, (p) => resolve(p)))
Promise.all([promiseWrapper(d3.json,"yemen.json"),promiseWrapper(d3.csv,"droneData.csv")]).then(resolve =>{
createMap(resolve[0],resolve[1])
})
function createMap(districts,drones){...visualization code...
当我将可视化上传到 github 时,块页面告诉我它无法访问我的 json 数据的特征数组。我在本地工作时不会收到此错误。我将此错误消息记录到控制台:"Uncaught (in promise) TypeError: Cannot read property 'features' of null." 我做错了什么?
我将提供一个替代方案,但我不确定这是否能回答您的问题。
d3 提供了自己的排队机制,可以完成您使用 pomiseWrapper 所做的事情。
见https://github.com/d3/d3-queue
d3.queue()
.defer(d3.json, "yemen.json")
.defer(d3.csv, "droneData.csv")
.await(createMap);
function createMap(error, districts, drones) {....
你有工作 fiddle 吗?