NodeJS:有没有办法可以保存promise返回的值,并可以从另一个文件访问这个变量

时间:2017-07-23 16:58:50

标签: javascript asynchronous promise

我有一个异步函数(一个promise),如果解析了promise,它会读取一个xml文件并给出一个键和值的映射。我整个项目都需要这张地图。所以我想只读一次这个xml文件,可能是在项目开始时将地图保存在变量中。我想在我的项目的不同文件中使用该变量。有什么方法可以实现这个目标吗?

1 个答案:

答案 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}}

plnkr http://plnkr.co/edit/SQzakbP936rEgnEzsP8R?p=preview