首页 > 解决方案 > 如何在节点 JS 中读写文件?

问题描述

我有这个似乎可以工作的代码,但控制台输出总是“存在”,但在一种情况下它是错误的......

function registerUser(pseudo){
  fs.appendFile('pseudos.txt', pseudo + '\r\n', function (err) {
    if (err) throw err;
  });
}

function isNewUser(pseudo){
  fs.readFile('pseudos.txt', 'utf8', function (err,data) {
    if (err) {
      return console.log(err);
    }
    if (data.includes(pseudo)){
      return true;
    }else{
      return false;
    }
  });
}

async function main() {
   registerUser('toto');
   registerUser('titi');

   if (isNewUser('titi')){
      console.log('titi is new');
   }else{
      console.log('titi is not new');
   }
  if (isNewUser('tutu') == true){
      console.log('tutu is new');
  }else{
      console.log('tutu is not new');
  }

}

结果是:

titi is not new
tutu is not new

但它应该是:

titi is not new
tutu is new

我做错了什么?

标签: javascriptnode.js

解决方案


推荐阅读