3

関数が実行される前d3.jsonに配列がいっぱいになるのを待つにはどうすればよいですか?saved_datacallback

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));

}
4

1 に答える 1

2
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));
      });
} 

の同じコールバックに入れますd3.json

于 2013-08-12T21:44:14.623 に答える