Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodejs/pg,回调参数_Javascript_Node.js_Postgresql_Callback - Fatal编程技术网

Javascript nodejs/pg,回调参数

Javascript nodejs/pg,回调参数,javascript,node.js,postgresql,callback,Javascript,Node.js,Postgresql,Callback,我对node.js相当陌生,也没有做过很多Java脚本。试图搜索我的问题,但找不到与之相关的具体答案 所以,当我在将PostgreSQL附加到我的应用程序时,我遵循了web上某个示例中的一个片段,它似乎工作得很好 无论如何,我想了解它是如何工作的,但在理解以下代码的特定部分时遇到了一个问题: module.exports = { query: function(text, values, cb) { pool.connect(function(err, client, done) {

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

所以,当我在将PostgreSQL附加到我的应用程序时,我遵循了web上某个示例中的一个片段,它似乎工作得很好

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

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);
      })
    });
  }
}
具体部分是:

connect(函数(err,client,done){…}

我所理解的是,connect函数将带有err、client和done的回调函数作为参数,但是我无法理解函数(err、client、done)从何处传递给connect函数作为参数。这里,我指的是调用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);
 });

所以你的问题是
回调在JavaScript中是如何工作的
?@vitaly-t不太清楚,我理解回调是如何工作的,但我很好奇函数是从哪里被调用的。我只是含糊不清地假设函数会在某个点在pg包中被调用。我只是想知道那一点具体在哪里。