我只是想加载 JSON 并存储到变量/数组,以便我可以加载 JSON api 一次并使用该数组进行处理。有没有办法获取 JSON 并将其存储到我可以在 fetch() 或 $.getJSON 异步函数之外访问的变量?
我已经想出了下面的代码,但我担心每次我调用函数“test”时它都会加载 JSON api。我说得对吗?
function test(callback) {
$.getJSON('myURL', function (data) {
callback(data);
});
}
test(function (data) {
console.log(data);
});
最佳答案
如果 myURL
处的数据没有改变,那么一种选择是让 test
缓存解析值(或 Promise),这样就只有一个网络请求被处理。 made(并且,为了方便异步使用,请使用 fetch
,它返回 native Promise):
const test = (() => {
let prom = null;
return () => {
if (!prom) {
prom = fetch('myUrl').then(res => res.json());
}
return prom;
};
})();
test()
.then((data) => {
console.log(data);
});
关于javascript - 如何解析 JSON 并将其存储在外部变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57965428/