以下代码中的函数将始终读取test.txt,它不是共享函数,如何使其成为共享函数
var readFile = new Promise(function (resolve, reject) {
fs.readFile('test.txt', 'utf-8', function (error, data) {
if (error){
reject(error);
}else {
resolve(data);
}
});
});
module.exports.readFile = readFile;
答案 0 :(得分:1)
你可以这样
readFileFunction.js
var ReadFile= function(fileName) {
return new Promise(function (resolve, reject) {
fs.readFile(fileName, 'utf-8', function (error, data) {
if (error){
reject(error);
}else {
resolve(data);
}
});
});
}
module.exports = ReadFile;
使用此功能 someOtherFile.js
var ReadFile = require('./readFileFunction.js') // correct path to readFile
ReadFile(fileName).then(function(data) {
/* stuff */
})
为您的代码
-nodeapp
--helper.js
--main.js
--text.txt
--readFileFunction.js
说您需要阅读main.js中的File。 在 main.js
中 var ReadFile = require('./readFileFunction.js')
// other code
...
// you need to read text.txt
var fileName1= 'text.txt' //change name according to your wish here
var fileName2= 'text2.txt' //change name according to your wish here
ReadFile(fileName1).then(function(dataOfFile1) {
ReadFile(fileName2).then(function(dataOfFile2) {
/* your file stuff */
console.log(dataOfFile1) // all your file data
console.log(dataOfFile2) // all your file data
})
})
希望这会有所帮助