如何使用函数内的callback函数?

我想调用一个函数内的callback函数,所以我不知道该怎么做

function call(){ pg.connect(conString, function(err, client, done) { if(err) { return console.error('error fetching client from pool', err); } client.query('INSERT into post1 (data) VALUES ($n)', function(err, result) { //call `done()` to release the client back to the pool done(); if(err) { return console.error('error running query', err); } console.log(result.rows[0].number); //output: 1 }); }); } board.on("ready", function() { // Create a new generic sensor instance for // a sensor connected to an analog (ADC) pin var sensor = new five.Sensor("A0"); // When the sensor value changes, log the value sensor.on("change", function() { var n = this.value(); //i want to call that function here }); }); 

我也想在另一个callback函数中调用这个函数,这是正确的做法或build议我正确的方法。

你可以做这样的事情,你正在传递一个函数到你的函数中。 所以在这种情况下,callback将是一个函数。

 function call(callback){ pg.connect(conString, function(err, client, done) { if(err) { return console.error('error fetching client from pool', err); } client.query('SELECT $1::int AS number', ['1'], function(err, result) { //call `done()` to release the client back to the pool done(); callback(); //execute here or wherever if(err) { return console.error('error running query', err); } console.log(result.rows[0].number); //output: 1 }); }); } 

那么你可以这样称呼它

 call(function(){ //some logic here. }) 

要么:

 var someFunction = function() { //do something } call(someFunction);