使用回调异步访问$ get

时间:2016-08-30 11:36:25

标签: javascript jquery asynchronous

我正在尝试使用$ get来加载带有jquery的文件,我希望能够回调该函数并等待查询之外的结果。

我尝试了以下但它似乎不起作用。

  filename = "./moonlight_sonata_diameter.data";
  items = readData(filename, callback);

  function readData(filename, callback) {

    $.get(filename, function(data) {
      items = data.split(/\r?\n/).map(pair => pair.split(/\s+/).map(Number));
       callback(items);

    });
  }

See the full code on Plunker.

1 个答案:

答案 0 :(得分:1)

您从未定义过回调函数。



  var filename = "./moonlight_sonata_diameter.data";

  var fn_callback = function(items) {
    // do what you need to do with your items here ...
  }
  
  // pass the callback function "fn_callback" as a parameter to readData()
  readData(filename, fn_callback); 

  function readData(filename, callback) {
    $.get(filename, function(data) {
      var items = data.split(/\r?\n/).map(pair => pair.split(/\s+/).map(Number));
      callback(items);
    });
  }




旁注:您不应对全局变量和函数参数使用相同的名称。