gpt4 book ai didi

javascript - 关闭流node.js

转载 作者:太空宇宙 更新时间:2023-11-03 22:30:03 24 4
gpt4 key购买 nike

我无法关闭 node.js 中的流,这是我的代码

        var inp = fs.createReadStream("a/b/c/"+ Name);
var out = fs.createWriteStream("a/b/c/"+ Name);
inp.pipe(out);
inp.close( function(err){
if (err){
console.log(err);
} else {
inp.unpipe(out);
socket.emit('Done',{'Name':name});
console.log('There will be no more data.');
}
});

然后我在代码中进一步添加了此功能,用于删除 inp 目录

var fse = require("fs-extra");
fse.emptyDir("a/b/c/", function(err){
if(err){
console.log(err);
} else {
console.log("doneaaaa")
fse.remove("a/b/c",function(err){
if(err){
console.log(err);
} else {
console.log('doneaswell');
}
});
}
});

我收到这个错误!!

doneaaaa
{ [Error: EBUSY: resource busy or locked, unlink 'a/b/c/.nfs000000002ab5000d00000072']
errno: -16,
code: 'EBUSY',
syscall: 'unlink',
path: 'a/b/c/.nfs000000002ab5000d00000072' }

这意味着该流仍然打开!

.nfs 文件是在流式传输时创建的,但流关闭后不应删除文件吗?

我做错了什么?

最佳答案

在执行删除/解锁操作之前,您必须等待回调关闭才能调用。从您提供的示例来看,情况并非如此。

关于javascript - 关闭流node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38501579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com