【发布时间】:2013-01-17 06:40:42
【问题描述】:
任务如下。我需要使用 fs2 库中的 rmdir 删除文件夹及其内容。它返回 deffered 承诺对象。完成后,我需要再次创建文件夹。并且函数也应该返回 promise 以进行进一步的链接。
我现在的代码是这样的:
function clearOutputDir() {
var def = deferred();
var def2 = deferred();
if (fs.existsSync(outputFolder)) {
def.resolve(fs2.rmdir(outputFolder, {recursive: true, force: true}));
} else {
def.resolve();
}
def2.resolve(def.promise.then(function () {
return deferred.promisify(fs.mkdir)(outputFolder);
}));
return def2.promise;
}
看起来它有效,但它丑得要命。如果没有 def 和 def2 可以更简单吗?
【问题讨论】:
标签: javascript node.js promise deferred fs