내가 Node.js를에 스트림을 닫을 수 없습니다입니다 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 파일이 생성되지만 스트림이 닫히면 삭제하지 말아야합니까?
내가 뭘 잘못하고 있니?
누락 된
대신 후에는 occours 있도록 콜백의 내부의 삭제를 넣어 시도 'unlink' //'unlinkSync' https://nodejs.org/api/fs.html#fs_fs_unlink_path_callback 또한'fse'는 무엇입니까? – Pogrindis
@Pogrindis 그 점에 대해 죄송합니다. var fse = require ('fs-extra'); 난뿐만 아니라 표준 fs 모듈에서 unlink 시도 같은 문제가 끝났다 –