Skip to content

Instantly share code, notes, and snippets.

@joachimkainz
Created December 28, 2011 07:15
Show Gist options
  • Save joachimkainz/1526919 to your computer and use it in GitHub Desktop.
Save joachimkainz/1526919 to your computer and use it in GitHub Desktop.
asynchronous "rm -rf" for Node.js
function rmrf(dir, callback) {
fs.stat(dir, function(err, stats) {
if (err) {
return callback(err);
}
if (!stats.isDirectory()) {
return fs.unlink(dir, callback);
}
var count = 0;
fs.readdir(dir, function(err, files) {
if (err) {
return callback(err);
}
if (files.length < 1) {
return fs.rmdir(dir, callback);
}
files.forEach(function(file) {
var sub = path.join(dir, file);
rmrf(sub, function(err) {
if (err) {
return callback(err);
}
if (++count == files.length) {
fs.rmdir(dir, callback);
}
});
});
});
});
}
@shybovycha
Copy link

Does not work for me...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment