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

标签 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) {
          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);

如果您想获得与登录控制台相同的信息(货币),您可以将硬币数组映射到包含该格式的新数组:

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

关于javascript - 将解析后的数据传递给回调以便自由使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51666873/

相关文章:

javascript - 尝试使用 chrome.downloads(由于某种原因未定义)

javascript - IndexedDB:您可以手动发起版本更改事务吗?

php - 将 php 关联数组返回到 javascript 数组

javascript - Redactor:访问插件内的回调

python - 从 Blaze 访问 S3 上的分片 JSON 文件中的数据

javascript - Chrome 扩展 : Open html in the crx file with no icon on tab

javascript - 如何判断一个元素是按钮还是文本框

javascript - Yii Register 核心脚本正在调用 Controller 名称

javascript - Json 数组从 $_POST ['id' 增加我的 id 值]

javascript - 将 json 数组转换为 javascript 数组