我学习 js 有一段时间了,我几乎了解它的主要概念,例如原型(prototype)、oop ... 但是我不明白它是如何工作的:
User.findOne().where('socialid').equals(id).where('socialnetwork').equals(snw).exec(function (arr,data) {
if(data){
res.send(data);
}
});
我不明白的是 data 和 arr 变量是如何传递给 exec()< 中的函数的/em> 功能。是闭包吗?谁能给出一个更简单直观的例子,它是如何在幕后执行的?
已编辑:实际上,我确实理解回调行为,我无法理解的是 data 应该是 User.findOne() 的结果.... 不是来自 exec() 的回调函数内部,它只将新函数传递给 exec() 正如我在代码。
非常感谢
最佳答案
exec
的源代码如下所示:
function exec(someCallback) {
// ...
var arr = /* ? */;
var data = /* ? */;
someCallback(arr, data);
// ...
}
关于javascript - 关于函数内部的 Javascript 函数的解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011103/