Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将解析后的数据传递给回调函数以便自由使用_Javascript_Json_Google Chrome Extension_Callback - Fatal编程技术网

Javascript 将解析后的数据传递给回调函数以便自由使用

Javascript 将解析后的数据传递给回调函数以便自由使用,javascript,json,google-chrome-extension,callback,Javascript,Json,Google Chrome Extension,Callback,我想知道是否有任何方法可以将硬币的价值传递给我的回调函数,或者更理想地说,传递给我的回调函数,这样我就可以在其他函数中自由地使用解析后的JSON数据 function loadJSON(path, callback) { var json = new XMLHttpRequest(); json.onreadystatechange = function () { if (json.readyState == 4) { if (json.status == 200)

我想知道是否有任何方法可以将硬币的价值传递给我的回调函数,或者更理想地说,传递给我的回调函数,这样我就可以在其他函数中自由地使用解析后的JSON数据

function loadJSON(path, callback) {
  var json = new XMLHttpRequest();
  json.onreadystatechange = function () {
    if (json.readyState == 4) {
      if (json.status == 200) {
          var coins = JSON.parse(json.responseText);
          setTimeout(function(){
          coins.forEach(function(currency){
         //console.log(currency.name + "\x09\x09\x09" + currency.price_usd + " USD");
       }, 5000);
       });
      }
      // else {
      //   error(json);
      // }
    }
  };

  json.open("GET", path, true);
  json.send();
  callback();
}

我是JS的新手,所以任何建议都非常感谢

只要将回调移动到您获得数据的位置即可:

   var coins = JSON.parse(json.responseText);       
   setTimeout(function(){
      callback(coins); 
   }, 5000);
如果希望获得与登录到控制台相同的货币(货币),可以将coins数组映射到包含该格式的新数组:

    callback(coins.map(function(currency) {
       return currency.name + "\x09\x09\x09" + currency.price_usd + " USD";
    }));

您忘记关闭
forEach(函数(){
带有
})…另请参见