我想知道是否有办法在最后将硬币的值,或者更理想的情况下,将货币的值传递给我的回调函数,这样我就可以在其他函数中自由地使用解析后的 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/