如何等待d3.json完成?

如何等待d3.json完成?,d3.js,D3.js,在执行函数回调之前,如何等待d3.json填充数组保存的\u数据 如果数据不是空的,我正在使用saved_data。否则,我将请求新数据并将其保存在saved_data变量中: if (saved_data.length > 0) { callback(null, parse(variable, saved_data)); } else { // -------------- Begin Request New Data ------------------ d3.json(

在执行函数
回调
之前,如何等待
d3.json
填充数组
保存的\u数据

如果数据不是空的,我正在使用
saved_data
。否则,我将请求新数据并将其保存在
saved_data
变量中:

if (saved_data.length > 0) {
  callback(null, parse(variable, saved_data)); 
}
else {
  // -------------- Begin Request New Data ------------------
  d3.json(" ... ", 
      function(data) {
        if (!data) return callback(new Error("unable to load data"));   
        saved_data = data; 
  });

  // how to wait on d3.json? before the call back?
  callback(null, parse(variable, saved_data));

}

把它放在同一个回调中,用于
d3.json

好的,谢谢!我以为传递额外的变量是行不通的!
if (saved_data.length > 0) {
  callback(null, parse(variable, saved_data)); 
}
else {
// -------------- Begin Request New Data ------------------
  d3.json(" ... ", 
      function(data) {
        if (!data) return callback(new Error("unable to load data"));   
        saved_data = data; 
        // Put it here.
        callback(null, parse(variable, saved_data));
      });
}