как исправить эту ошибку TypeError [ERR_INVALID_CALLBACK]: Обратный вызов должен быть функцией
Я новичок в nodejs. когда я набираю ниже ошибку кода, как этот TypeError [ERR_INVALID_CALLBACK]: Обратный вызов должен быть функцией
var fs = require('fs');
fs.readFile('readMe.txt', 'utf8', function (err, data) {
fs.writeFile('writeMe.txt', data);
});
Ответы
Ответ 1
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.log('error', err);
});
});
Ответ 2
fs.writeFile(...)
требует третьего (или четвертого) параметра, который является функцией обратного вызова, которая должна быть вызвана, когда операция завершается. Вы должны либо предоставить функцию обратного вызова, либо использовать fs.writeFileSync(...)
Дополнительную информацию см. В документах узла fs.
Ответ 3
Начиная с ndoe 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, () => {})
Ответ 4
Эта ошибка ударила меня по лицу, когда я делал следующее;
var hello = myfunction( callme() );
а не
var hello = myfunction( callme );