Ich versuche, eine JSON-Datei zu lesen, die wie folgt aussieht:Einstellung d3 Graph aus dem Inneren einer anonymen Funktion
[ {
"parent" : "cmeta_transform",
"path" : "hcat://sample/dt=yyyyMMddHH",
"child" : "lite_video_hourly"
} ]
Dann habe ich über den Inhalt am iterieren und den Knoten und Kanten aus dem Inneren der data.forEach
Funktionseinstellung Anruf (Code unten)
Aber es scheint wie die Variable g
wird nicht gesetzt, wenn ich über es iterieren. Wenn ich es außerhalb der anonymen Funktion mache, funktioniert es. Was fehlt mir?
<script id="js">
// Create a new directed graph
var g = new dagreD3.graphlib.Graph().setGraph({});
d3.json("expectedOutput.json", function(data) {
data.forEach(function (job) {
console.log(job); // I do see job values correctly.
g.setNode(job.child, { label: job.child });
g.setEdge(job.parent, job.child, { label: job.path });
});
});
console.log(g); // g doesn't have the nodes & edges values set above
// if I do this
g.setNode(job.child, { label: job.child });
g.setEdge(job.parent, job.child, { label: job.path });
console.log(g); // I see g is set properly
</script>