Javascript 回调不是函数,但脚本可以工作
你好,我对这个代码有问题Javascript 回调不是函数,但脚本可以工作,javascript,node.js,regex,Javascript,Node.js,Regex,你好,我对这个代码有问题 const lineReplace = require('line-replace') lineReplace({ file: 'outputfinal.txt', line: 4, text: '', addNewLine: false, onReplace }) function onReplace({file, line, text, replacedText}) { } 脚本删除了第4行,因此脚本可以工作。但它返回一个错误,停止脚本的
const lineReplace = require('line-replace')
lineReplace({
file: 'outputfinal.txt',
line: 4,
text: '',
addNewLine: false,
onReplace
})
function onReplace({file, line, text, replacedText}) {
}
脚本删除了第4行,因此脚本可以工作。但它返回一个错误,停止脚本的执行
callback({file, line, replacedText, text})
^
TypeError: callback is not a function
at WriteStream.<anonymous> (C:\Users\Niiky\Desktop\node_modules\[4mline-replace[24m\src\line-replace.js:38:7)
[90m at Object.onceWrapper (events.js:299:28)[39m
[90m at WriteStream.emit (events.js:210:5)[39m
[90m at finishMaybe (_stream_writable.js:666:14)[39m
[90m at _stream_writable.js:643:7[39m
[90m at WriteStream._final (internal/fs/streams.js:297:3)[39m
[90m at callFinal (_stream_writable.js:636:10)[39m
[90m at processTicksAndRejections (internal/process/task_queues.js:80:21)[39m
回调({file,line,replacedText,text})
^
TypeError:回调不是函数
在WriteStream。(C:\Users\Niiky\Desktop\node\u modules\[4mline replace[24m\src\line replace.js:38:7)
[Object.onceWrapper上的90m(events.js:299:28)[39m]
[WriteStream.emit(events.js:210:5)上的90m)[39m
[90m在finishMaybe(_stream_writable.js:666:14)[39m
[90m at_stream_writable.js:643:7[39m]
[90米在WriteStream.\u final(内部/fs/streams.js:297:3)[39米
[callFinal时为90m(_stream_writable.js:636:10)[39m]
[ProcessTicks和Rejections时为90m(内部/流程/任务队列.js:80:21)[39m
为什么会出现此错误以及如何解决此错误?这是错误的/误导性的。它似乎希望您传入的回调是名为callback
的属性,而不是onReplace
:
const lineReplace = require('line-replace')
lineReplace({
file: 'outputfinal.txt',
line: 4,
text: '',
addNewLine: false,
callback: onReplace // this argument apparently needs to be a property named callback
})
function onReplace({file, line, text, replacedText}) {
}
在像这样的问题中,特别是像这样一个相当简单的模块,只需查找一下,看看它在做什么
轻微警告。虽然此库使用异步流来读取/写入文件,但它使用同步I/O来重命名/删除临时文件。因此,如果不在库中修复此问题,则不应在服务器上下文中使用它。嘿!非常感谢您花时间回答、查看代码并创建此问题!您答对了我不知道对FS的同步调用,所以我刚刚删除了它们并发布了v2。希望这有帮助。干杯!