以下为read.js
var p_a_txt = new Promise(function (resolve, reject) {
fs.readFile('./a.txt', function (err, data) {
resolve(JSON.parse(data.toString())
})
})
var p_b_txt = new Promise(function (resolve, reject) {
fs.readFile('./b.txt',function (err, data) {
resolve(JSON.parse(data.toString())
})
})
module.exports={
p_a_txt,
p_b_txt
}
当我在需要的页面里面require的时候
const {p_a_txt,p_b_txt}=require('./read');
Promise.all([p_a_txt,p_b_txt]).then(function(results){
console.log(results[0],results[1]) //正确得到a.txt和b.txt的里面的内容
})
但是如果修改a.txt或者b.txt的内容,运行程序得到内容仍然是修改之前的结果,只有结束程序重新运行才可以得到正确结果
求解...
因为你导出的就是一个promise结果,它里面的内容是确定的,你应该把这两个promise封装成一个函数导出去,在引入的地方执行函数