如何在节点js

时间:2019-01-05 15:29:09

标签: node.js

以下代码中的函数将始终读取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;

1 个答案:

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

})

希望这会有所帮助