Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在文件系统模块中使用async/await_Javascript_Node.js - Fatal编程技术网

Javascript 如何在文件系统模块中使用async/await

Javascript 如何在文件系统模块中使用async/await,javascript,node.js,Javascript,Node.js,如何将async/await语法与fs.unlink()结合使用来删除具有给定路径的文件。您不需要等待 fs.unlink(路径,回调) 您可以创建一个回调 假设“path/file.txt”是一个常规文件 fs.unlink('path/file.txt', (err) => { if (err) throw err; console.log('path/file.txt was deleted'); }); 异步的是fs.unlink() 同步的是fs.unlinkSync(

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

您不需要等待

fs.unlink(路径,回调)

您可以创建一个回调

假设“path/file.txt”是一个常规文件

fs.unlink('path/file.txt', (err) => {
  if (err) throw err;
  console.log('path/file.txt was deleted');
});
异步的是fs.unlink()

同步的是fs.unlinkSync()


使用文件系统函数时,请将其用作基于承诺的函数,而不是基于回调的函数。您可以说
fs.promises.unlink()
,而不是说
fs.unlink()
,但请记住,此promise内置函数是在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 promises
await unlinkPromise('path/file.txt').then((path) => {
    console.log(`${path} was deleted`);
});

但如前所述,同步方法不需要等待,我建议使用promise cascades…

取消链接同步
块,这样您就不需要使用async/await。您可以使用来打开
取消链接
(或任何其他错误首先回调最后一个函数)变成一个可以等待的承诺。
fs.unlinkSync
是同步的,顾名思义,因此不需要
async/await
。你为什么这么问?不过我不想回电话