如何将 async/await 与文件系统模块一起使用

我将如何使用 async/await 语法来fs.unlink()删除具有给定路径的文件。



芜湖不芜
浏览 125回答 3
3回答

SMILET

当您使用文件系统函数时,请将其用作基于承诺的函数,而不是基于回调的函数。您可以说fs.promises.unlink()而不是说fs.unlink(),但请记住,此承诺内置函数是在 Node.js 版本 10 中添加的。因此,如果您使用的是旧版本,则这将不起作用!要在您的代码中使用它,您可以这样做:await fs.promises.unlink(yourPath)

绝地无双

您可以“承诺”所有回调风格的函数!// 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 promisesawait unlinkPromise('path/file.txt').then((path) => {    console.log(`${path} was deleted`);});但正如已经提到的,同步方法不需要等待,这种策略,我会推荐用于承诺级联......

一只萌萌小番薯

你不需要等待。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()。https://nodejs.org/api/fs.html#fs_fs_unlink_path_callback
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript