fs.promise.rm 无法在创建文件之前创建承诺
fs.promise.rm can not create promise before file is created
我尝试为同一个文件创建 fs.promise.writeFile
操作和 fs.promise.rm
操作,并在稍后阶段执行它们。我收到错误 ENOENT: no such file or directory
。我正在尝试类似的东西(为了简单和可重复性,我在这个例子中颠倒了创建的承诺的顺序):
const fs = require('fs');
const path = require('path');
async function test() {
try {
let file = path.resolve('test.txt');
const rm = fs.promises.rm(file);
const writeFile = fs.promises.writeFile(file, 'foo');
await writeFile;
await rm;
} catch(err) {
console.log(err);
}
}
所以在我看来,这个操作在实际执行之前抛出。我能做些什么来防止过早地部分执行 rm
操作?
您按错误的顺序执行此操作。 promise 可以在 await 调用之前开始完成。你应该在 const rm =
.
之前做 await writeFile
我尝试为同一个文件创建 fs.promise.writeFile
操作和 fs.promise.rm
操作,并在稍后阶段执行它们。我收到错误 ENOENT: no such file or directory
。我正在尝试类似的东西(为了简单和可重复性,我在这个例子中颠倒了创建的承诺的顺序):
const fs = require('fs');
const path = require('path');
async function test() {
try {
let file = path.resolve('test.txt');
const rm = fs.promises.rm(file);
const writeFile = fs.promises.writeFile(file, 'foo');
await writeFile;
await rm;
} catch(err) {
console.log(err);
}
}
所以在我看来,这个操作在实际执行之前抛出。我能做些什么来防止过早地部分执行 rm
操作?
您按错误的顺序执行此操作。 promise 可以在 await 调用之前开始完成。你应该在 const rm =
.
await writeFile