Home > Mobile >  NodeJS creating File but without text
NodeJS creating File but without text

Time:01-08

Hey here is my little script:

for (let i = 0; i < test.length; i  ) {
        if(publicKey.startsWith(test[i])) {
            console.log(seed   " =[HIT]= "   publicKey)
            fs.appendFile(publicKey.toString()   '.txt', mnemonic.toString(), function (err) {
                if (err) throw err;
                console.log('Finished!');
              });
              exit();

        } else {
            console.log(seed   " =[FAILED]= "   publicKey)
        }
    }

It does create my file but without any text? I tried to put in random text, but it did not work either. Is there a way to fix this?

CodePudding user response:

for is synchronous, but fs.writeFile isn't. You are immediately launching several fs.writeFile at a time, all the commands are over even before your hard disk woke up and realised what happened.

Either use the synchronous version fs.writeFileSync(...); (not recommended), or use the Promise version and await it :

import * as fs from 'node:fs/promises';

for (let t of test) {
  if (publicKey.startsWith(t)) {
    console.log(seed   " =[HIT]= "   publicKey);
    await fs.appendFile(publicKey.toString()   '.txt', mnemonic.toString());
  } else {
    console.log(seed   " =[FAILED]= "   publicKey)
  }
}

console.log('Finished!');
process.exit();
  •  Tags:  
  • Related