繁体   English   中英

nodejs/pg,回调参数

[英]nodejs/pg, callback parameters

我对 node.js 相当陌生,并没有做过很多 javascripts。 试图搜索我的问题,但找不到与之相关的具体答案。

因此,当我将 PostgreSQL 附加到我的应用程序时,我遵循了网络上一些示例的片段,看起来工作得很好。

无论如何,我想了解它是如何工作的,但我在理解以下代码的特定部分时遇到了问题:

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 的回调函数作为参数,但是我无法理解从哪里将 function(err, client, done) 作为参数传递给 connect 函数 这里,我的意思是一个对象或一个调用连接函数的调用者。

本来就怀疑会在内部处理,但是想清楚的知道。

默认所有回调函数,第一个参数必须是错误,第二个参数是回调函数的结果。

Done 类似于 callback 关键字,它表示您的任务结束并从函数调用的地方返回响应,就像普通函数中的 return 语句

例子:

 function callbackDemo(arg1, arg2, callback) {
  if (condition)
    callback(null, "Success");
    else
    callback("error");  
   }

callbackDemo(1, 2, function(err, result){

  if(!err)
    console(result);
   else
    console.log(err);
 });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM