我希望函数能够在给定JSON文件的路径或直接给定JSON数据的情况下可视化图形。有没有标准的方法呢?我现在能想到的是解析参数,如果它以“.json”结尾,则传递给d3.json(),否则直接将数据传递给graph.data()。
或者也许做错误的事情?
e.g。
d3.json(data, function(error,data){
if (error)
//bind data directly
});
答案 0 :(得分:1)
所以听起来你有以下情况:
你有一个功能
function draw_graph(data) {
// whatever you need to do to draw the graph
}
然后
function maybe_xhr_and_then_draw_or_just_draw(path_or_data) {
if(is_remote(path_or_data)) {
d3.json(path_or_data, draw_graph)
} else {
draw_graph(path_or_data)
}
}
问题是“is_remote
看起来像什么?”
如果我有这个权利,那么你基本上就是在询问如何输入嗅觉,这是一种像javascript这样的语言的可疑想法(请参阅here了解原因)。
如果你坚持,那么你可以这样做:
function is_remote(path_or_data) {
return !(path_or_data instanceof Object)
}