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