NodeJS: асинхронная функция без обратного вызова: нужны два обратных вызова? - PullRequest
0 голосов
/ 30 апреля 2018

Я не понимаю, почему у этого есть предупреждение об устаревании. Я посмотрел на другие вопросы и ответы, и до сих пор не понимаю. Означает ли это, что это просто старая школа, а не лучшая практика? Что мне делать? Большое спасибо!

let fs = require('fs');

fs.mkdir('stuff', ()=>{
  fs.readFile('readMe.txt', (err, data)=>{
    if(err){
      throw err;
    };
    fs.writeFile('./stuff/writeMe.txt', (err, data)=>{
      if (err){
        throw err;
      };
    });
  });
});

1 Ответ

0 голосов
/ 30 апреля 2018

Сообщение об устаревании отображается, потому что в вашем файле fs.writeFile отсутствует один аргумент, данные для записи в файл:

let fs = require('fs');

fs.mkdir('stuff', () => {
  fs.readFile('readMe.txt', (err, data)=>{
    if (err) {
      throw err;
    }
    console.log(data.toString());
    fs.writeFile('./stuff/writeMe.txt', 'test string to write', (err, data) => {
      if (err) {
        throw err;
      }

      console.log(data);
    });
  });
});

Без данных для записи ведьма не является обязательной, аргумент обратного вызова отсутствует.

...