javascript - 隐藏回调的变量是不好的做法吗?

标签 javascript node.js asynchronous

<分区>

以异步Node函数fs.stat()为例。如果我需要对文件使用 fs.stat(),稍后再执行一次,结果会被遮蔽。

fs.stat(file, function(err, stats) {
  fs.stat(file, function(err, stats) {
  });
});

err 变量以及 stats 变量被遮蔽了 - 如果我不在第二个回调中使用第一个回调,这是否重要?重命名第二个回调变量是否更好?

一次或多次覆盖这些变量是否会影响性能?

最佳答案

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

  • 下一个需要处理此代码的人(可能是您)可能会感到困惑。

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

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

关于javascript - 隐藏回调的变量是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15325761/

相关文章:

javascript - 将对象绑定(bind)到单选按钮组时缺少功能和错误

node.js - Nodejs解构require

multithreading - hibernate session 线程

python - 新的 python async 和 await 关键字

c# - 为什么这个异步 lambda 函数调用不能在 C# 中编译?

javascript - 将 CSV 与 Google 图表结合使用

javascript - 为什么在通过 ajax 提交时使用表单标签?

javascript - 计算浏览器滚动条的大小

node.js - 如何阻止来自特定浏览器的流量到我的 docker Web 应用程序?

javascript - google-trends-api npm 找不到使用 browserify 的模块