




fs.writeFile(...) требует третьего (или четвертого) параметра, который является функцией обратного вызова, которая будет вызываться после завершения операции. Вы должны либо предоставить функцию обратного вызова, либо использовать fs.writeFileSync(...)
См. узел fs docs для получения дополнительной информации.
Fs.writeFile () согласно документации здесь принимает ( file, data [, options] и callback), поэтому ваш код будет таким:
var fs = require('fs');
fs.readFile('readMe.txt', 'utf8', function (err, data) {
fs.writeFile('writeMe.txt', data, function(err, result) {
if (err) console.info('error', err);
});
});
Нет необходимости передавать третий параметр в функцию обратного вызова writeFile. Единственное, что мы должны передать функцию обратного вызова.
Эта ошибка ударила меня по лицу, когда я делал следующее;
var hello = myfunction( callme() );
скорее, чем
var hello = myfunction( callme );
Начиная с узла 10, обязательно передать обратный вызов на fs.writefile().
Node.js задокументировал цель изменения: https://github.com/nodejs/node/blob/master/doc/api/deprecations.md#dep0013-fs-asynchronous-function-without-callback
Вы можете добавить пустой обратный вызов, например fs.writeFile('writeMe.txt', data, () => {})
вы также используете это
var file2 = fs.readFileSync("./Public/n2.jpeg")
При использовании await нет необходимости использовать readFileSync, потому что, как следует из названия, readFileSync - это синхронный.
await и readFileSync полностью избыточны, поскольку readFileSync уже является функцией синхронизации
var fs = require('fs');
fs.readFile('readme.txt', 'utf8', function(err, data) {
fs.writeFile('writemeee.txt', data, function(err, result) {
if (err) console.info('error', err);
});
});
Хотя этот код может решить проблему OP, лучше всего включить объяснение того, как ваш код решает проблему OP. Таким образом, будущие посетители могут извлечь уроки из вашего сообщения и применить его к своему собственному коду. SO - это не сервис кодирования, а ресурс знаний. Кроме того, больше шансов получить качественные и полные ответы. Эти функции, наряду с требованием, чтобы все сообщения были автономными, являются одними из сильных сторон SO как платформы, которые отличает ее от форумов. Вы можете редактировать, чтобы добавить дополнительную информацию и / или дополнить свои пояснения исходной документацией.
Идеально! Но почему мы снова определяем функцию для writeFile в качестве третьего параметра, когда у нас есть параметр data из readFile, который содержит данные? Почему мы не можем повторно использовать одни и те же данные?