我在NodeJS中有以下代码:
var targetDir = tmpDir + date;
try {
fs.statSync(targetDir);
}
catch (e) {
mkdirp.sync(targetDir, {mode: 755});
}
process.chdir(targetDir);
doStuffThatDependsOnBeingInTargetDir();
我的理解是在NodeJS中,像process.chdir这样的函数是异步执行的。因此,如果我之后需要执行一些代码,在执行后续函数之前,如何保证我在目录中?
如果process.chdir接受了回调,那么我会在回调中进行回调。但它并没有。这种异步范式对于新手来说肯定是混乱的,所以我想我会问。这不是最实际的考虑因素,因为代码似乎仍然有效。但我觉得我经常遇到这种情况,并且不知道如何处理这些情况。