我有一个异步函数(一个promise),如果解析了promise,它会读取一个xml文件并给出一个键和值的映射。我整个项目都需要这张地图。所以我想只读一次这个xml文件,可能是在项目开始时将地图保存在变量中。我想在我的项目的不同文件中使用该变量。有什么方法可以实现这个目标吗?
答案 0 :(得分:0)
您可以定义文件中的函数以期望参数,使用.then()
加载文件,将请求文件中的函数引用传递到.then()
内Promise.all()
链接到const promise = Promise.resolve("do stuff");
promise.then(res => {
Promise.all([fetch("loadFile1.js").then(res => res.text())
/* , fetch("loadFile2.js")*/])
.then(function(files) {
let script = document.createElement("script");
script.textContent = files[0];
document.body.appendChild(script);
promise.then(loadFile)
})
});
}}
loadFiles1.js
其中loadFile
包含函数function loadFile(data) {
console.log(data);
}
{{1}}