Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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 在fs.rename之前不调用fs.exist的缺点?_Javascript_Node.js_Performance_File_Fs - Fatal编程技术网

Javascript 在fs.rename之前不调用fs.exist的缺点?

Javascript 在fs.rename之前不调用fs.exist的缺点?,javascript,node.js,performance,file,fs,Javascript,Node.js,Performance,File,Fs,如果文件存在,我需要重命名它。目前我正在使用下面的代码 fs.rename(oldpath, newpath, function (err) { /*don't care*/ }) 这在性能或其他问题方面是否有缺点,而不是在重命名之前先执行fs.exists()或fs.stat()?我觉得如果我需要检查它是否存在,然后重命名,这是2个操作,但如果我只是重命名,这是1个操作 我找不到这个函数的代码实现,但我知道在某些编程语言中,当文件不存在时会抛出并处理异常,这可能会对系统造成负担,只是想看看这

如果文件存在,我需要重命名它。目前我正在使用下面的代码

fs.rename(oldpath, newpath, function (err) { /*don't care*/ })
这在性能或其他问题方面是否有缺点,而不是在重命名之前先执行fs.exists()或fs.stat()?我觉得如果我需要检查它是否存在,然后重命名,这是2个操作,但如果我只是重命名,这是1个操作


我找不到这个函数的代码实现,但我知道在某些编程语言中,当文件不存在时会抛出并处理异常,这可能会对系统造成负担,只是想看看这里是否也是这样。我在一个拥有数万亿请求的超大系统上工作,因此每一纳秒都很重要。

fs.rename
不检查
fs.stat
,您可以编写这两个变体并测试它们的时间消耗等。因为fs.rename()实现了一个异常应该没什么大不了的。然而,我会去检查和重命名。另一方面,我认为,@DanD。说得很好,看来我们还没有达成共识。在某些编程语言中,异常会对系统造成很大的负担,所以我只是想看看这是否是一个问题。我想我会写一些测试来找出答案。不是fs.exists(),具体来说,它被fs.access()或fs.stat()替换,问题的关键是检查存在性是慢还是快。