0
ブラウザ内にSVGアセットを読み込む関数内でd3.xml()
を使用します。アセットがメモリにロードされた後にコールバック関数( "cb
")を呼びたい場合は、どうすればよいですか?コード例としてd3.xmlにコールバック関数を渡しますか?
、私は、次の試み:
var svg_xml = null;
var load_svg = function(svg_path, cb) {
d3.xml(svg_path, "image/svg+xml", function(error, xml) {
if (error) throw error;
svg_xml = xml;
if (cb) cb;
});
};
、スクリプト内の他の場所でコールバックをテストする:
load_svg("/foo/bar/baz.svg", function() {
console.log("baz.svg loaded!");
});
SVGは、最終的にメモリにロードされます。ただし、コールバックは呼び出されず、ログメッセージは返されません。
cb
の範囲がload_svg
の範囲内にあります。d3.xml()
は、cb
が分からないようですか?