nodejs文档对此问题进行了以下说明:
在同一个文件上多次使用 fs.write() 而不等待回调是不安全的。对于这种情况,建议使用 fs.createWriteStream()。
现在,我在 deno 文档中找不到任何关于它的信息,我想知道 deno 是否还建议不要以短频率对同一个文件进行多次写入,或者他们是否通过 Rust 以不同的方式处理它。如果他们反对它,推荐的解决方法是什么?
谢谢!
nodejs文档对此问题进行了以下说明:
在同一个文件上多次使用 fs.write() 而不等待回调是不安全的。对于这种情况,建议使用 fs.createWriteStream()。
现在,我在 deno 文档中找不到任何关于它的信息,我想知道 deno 是否还建议不要以短频率对同一个文件进行多次写入,或者他们是否通过 Rust 以不同的方式处理它。如果他们反对它,推荐的解决方法是什么?
谢谢!
write
不等待承诺完成的异步对于 deno 也是不安全的。
对于实际演示:
// If safe the file content would be ABCDEFGHIJ
async function main() {
let n = new Uint8Array(1);
const file = await Deno.open("bar.txt", { write: true, create: true });
for (var i = 65; i < 75; i++) {
n[0] = i;
Deno.write(file.rid, n);
}
}
main();
在我的 linux 盒子上的bar.txt
内容不是ABCDEFGHIJ
“JJ”。
请注意,这个特定示例实际上显示了两个问题:
Deno.write
没有使用没有安全访问文件资源await
i
循环变量值。J
write()