完成 fs.writeFilesync 时的回调

Posted

技术标签:

【中文标题】完成 fs.writeFilesync 时的回调【英文标题】:callback when finish fs.writeFilesync 【发布时间】:2019-09-30 10:10:39 【问题描述】:

我有这行代码来创建文件。我希望在创建文件后收到一条消息,例如“文件创建成功”。

fs.writeFileSync('reports/' +fileName+ '.pdf', resp.content);

【问题讨论】:

问题标题有点误导...像writeFileSync这样的同步方法没有回调...? 如何检测到文件被创建了? @Mat fs.writeFileSync()之后的行 这是一个同步函数。只需在它下面写代码。并阅读文档,它会告诉您函数返回写入的字节数。 @Mat 它还返回写入的字节数 - 所以如果少于预期的字节数就会出错 【参考方案1】:

您使用的方法是同步方法。这样的merhods不需要回调。如果您想在操作完成后显示消息,只需在下一行进行控制台记录即可。

fs.writeFileSync('reports/' +fileName+ '.pdf',  resp.content);
console.log('write operation done');

如果您想异步写入文件,请改用fs.writeFile

fs.writeFile('reports/' +fileName+ '.pdf', resp.content, ()=>console.log('write operation done');
);

【讨论】:

以上是关于完成 fs.writeFilesync 时的回调的主要内容,如果未能解决你的问题,请参考以下文章

节点 fs.writeFileSync() 永远不会返回

fs.writeFileSync 不能在这里设置 DOCTYPE

fs.writeFileSync 给出错误:未知,在 nodejs 中进行同步文件写入的正确方法

Nodemon fs.writeFileSync 崩溃

node.js总结

nodejs写文件