我将如何使用带有fs.unlink()
的 async/await 语法来删除具有给定路径的文件。
答案 0 :(得分:3)
当您使用文件系统函数时,请将其用作基于 Promise 的而不是基于回调的。您可以说 fs.promises.unlink()
而不是说 fs.unlink()
,但请记住,这个 Promise 内置函数是在 Node.js 版本 10 中添加的。因此,如果您使用的是旧版本,则不会这样工作!
要在您的代码中使用它,您可以这样做:
await fs.promises.unlink(yourPath)
答案 1 :(得分:0)
你不需要等待。
fs.unlink(path, callback)
您创建一个回调
假设“path/file.txt”是一个普通文件。
fs.unlink('path/file.txt', (err) => {
if (err) throw err;
console.log('path/file.txt was deleted');
});
异步的是 fs.unlink().
同步的是 fs.unlinkSync().
答案 2 :(得分:0)
你可以“承诺”所有回调风格的函数!
// promisefy this:
fs.unlink('path/file.txt', (err) => {
if (err) throw err;
console.log('path/file.txt was deleted');
});
// to this:
const unlinkPromise = (path) => new Promise((resolve, reject) => {
fs.unlink('path/file.txt', (err) => {
if (err) reject(err);
resolve(path);
});
});
// and then call with await or chain promises
await unlinkPromise('path/file.txt').then((path) => {
console.log(`${path} was deleted`);
});
但如前所述,同步方法不需要等待,这种策略,我会推荐用于承诺级联...