影响回调变量是不好的做法?

hex*_*ide 6 javascript asynchronous node.js

以异步节点功能fs.stat()为例.如果我需要fs.stat()在文件上使用,然后再次执行,结果将被遮蔽.

fs.stat(file, function(err, stats) {
  fs.stat(file, function(err, stats) {
  });
});
Run Code Online (Sandbox Code Playgroud)

err变量,以及stats变量阴影-这是否连的问题,如果我不会用第二个中的第一个回调?重命名第二个回调变量是更好的做法吗?

覆盖这些变量一次或多次会对性能产生什么影响?

DrC*_*DrC 6

意见问题,但我会说是 - 不好的做法.无论如何,这里有两个问题

  • 对于需要处理此代码的下一个人(可能是您)而言,这可能会令人困惑.

  • 在将来某个时候,您可能需要访问外部值以提供一些新功能(例如,要确保两个文件对象具有相同的类型?).进行此更改将需要对整个代码块进行烦人且容易出错的编辑.

现在使用不同的名称以防止以后出现问题