我是nodejs的初学者。当我输入下面的代码时,会出现如下代码错误:TypeError [ERR_INVALID_CALLBACK]:回调必须是函数
var fs = require('fs'); fs.readFile('readMe.txt', 'utf8', function (err, data) { fs.writeFile('writeMe.txt', data); });
4xy9mtcn1#
根据这里的文档,Fs.writeFile()接受(file,data[,options]和callback)参数,所以你的代码如下所示:
Fs.writeFile()
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); }); });
cgyqldqp2#
fs.writeFile(...)需要第三个(或第四个)参数,该参数是操作完成时要调用的回调函数。您应该提供回调函数或使用fs.writeFileSync(...)有关详细信息,请参阅node fs文档。
fs.writeFile(...)
fs.writeFileSync(...)
nle07wnf3#
从节点10开始,必须在fs.writefile()上传递回调Node.js记录了变更的目的: www.example.com您可以添加一个空回调,例如fs.writeFile('writeMe.txt', data, () => {})
fs.writefile()
fs.writeFile('writeMe.txt', data, () => {})
ecbunoof4#
你也是这样用的
var file2 = fs.readFileSync("./Public/n2.jpeg")
pgvzfuti5#
您可以简单地使用同步功能
var fs = require('fs'); fs.readFileSync('readMe.txt', 'utf8', function (err, data) { fs.writeFileSync('writeMe.txt', data); });
或使用回调函数
sqxo8psd6#
你可以从fs/promise导入fs模块,因为它们是模块的promise-fied版本,所以我们不需要不必要地使用回调函数。
import fs from 'fs/promises'; fs.readFileSync('readMe.txt', 'utf8', function (err, data) { fs.writeFileSync('writeMe.txt', data);`});`
xmakbtuz7#
var fs = require('fs'); fs.readFile('readme.txt', 'utf8', function(err, data) { fs.writeFile('writemeee.txt', data, function(err, result) { if (err) console.log('error', err); }); });
gab6jxml8#
试试这个。我已经用Promises写了代码。
const {readFile} = require('fs'); const {writeFileSync} = require('fs'); const readText = (path)=>{ return new Promise((resolve,reject) => { readFile(path,'utf8',(err,result)=>{ if(err) reject(err); else resolve(result); }) }) } readText('./contents/sample.txt') .then(val=>writeFileSync('./results.txt',val)) .catch(err=>console.log(err));
inb24sb29#
当我在做下面的事情时,这个错误给了我当头一棒;var hello = myfunction( callme() );而不是var hello = myfunction( callme );
var hello = myfunction( callme() );
var hello = myfunction( callme );
9条答案
按热度按时间4xy9mtcn1#
根据这里的文档,
Fs.writeFile()
接受(file,data[,options]和callback)参数,所以你的代码如下所示:cgyqldqp2#
fs.writeFile(...)
需要第三个(或第四个)参数,该参数是操作完成时要调用的回调函数。您应该提供回调函数或使用fs.writeFileSync(...)
有关详细信息,请参阅node fs文档。
nle07wnf3#
从节点10开始,必须在
fs.writefile()
上传递回调Node.js记录了变更的目的: www.example.com
您可以添加一个空回调,例如
fs.writeFile('writeMe.txt', data, () => {})
ecbunoof4#
你也是这样用的
pgvzfuti5#
您可以简单地使用同步功能
或使用回调函数
sqxo8psd6#
你可以从fs/promise导入fs模块,因为它们是模块的promise-fied版本,所以我们不需要不必要地使用回调函数。
xmakbtuz7#
gab6jxml8#
试试这个。我已经用Promises写了代码。
inb24sb29#
当我在做下面的事情时,这个错误给了我当头一棒;
var hello = myfunction( callme() );
而不是
var hello = myfunction( callme );