【发布时间】:2017-02-16 04:18:13
【问题描述】:
我对 node.js 还很陌生,还没有做太多的 javascripts。试图搜索我的问题,但找不到与之相关的具体答案。
所以,当我将 PostgreSQL 附加到我的应用程序时,我遵循了网络上一些示例中的 sn-p,它似乎运行良好。
无论如何我想了解它是如何工作的,但我在理解以下代码的特定部分时遇到了问题:
module.exports = {
query: function(text, values, cb) {
pool.connect(function(err, client, done) {
if(err) {
return console.error('error fetching client from pool', err);
}
console.log(client);
client.query(text, values, function(err, result) {
done();
cb(err, result);
})
});
}
}
具体部分是:
pool.connect(function(err, client, done) { ... }
我的理解是connect函数接受带有err、client和done作为参数的回调函数,但是我无法理解函数(err、client、done)从哪里传递给connect函数作为参数。在哪里,我的意思是调用连接函数的对象或调用者。
我怀疑会在内部处理,但我想清楚地知道。
【问题讨论】:
-
所以你的问题是
how do callbacks work in JavaScript? -
@vitaly-t 不完全是,我了解回调是如何工作的,但我很好奇从哪里调用函数。我只是模棱两可地假设该函数会在某个时候在 pg 包中被调用。我只是想知道那个点具体在哪里。
标签: javascript node.js postgresql callback