如何将变量从回调函数传递给函数调用?

时间:2016-03-08 09:47:38

标签: javascript node.js postgresql johnny-five

这里我使用简单的javascript(johnny five)将传感器数据发送到数据库 使用此代码

var five = require("johnny-five");
var pg = require("pg");
var conString = "pg://admin:raja@localhost:5432/data";
var client = new pg.Client(conString);

function call(n)
{
  client.connect();
  client.query("INSERT INTO sensordata (event) VALUES (n);");
}


var board = new five.Board();
board.on("ready", function() {

  var sensor = new five.Sensor.Digital(2);

  sensor.on("change", function() {
    var n = this.value;
    call(n);
  });
});

我的问题是我可以将传感器回调函数中的流数据变量n传递给调用方法。

1 个答案:

答案 0 :(得分:1)

我认为,您在这里看到的是一个简单的查询模板,由所有SQL客户端支持:

client.query("INSERT INTO sensordata (event) VALUES ($1);", n);

这样您就可以将n变量的值传递给SQL查询。

更新:在每次致电client.connect()之前,您都不必致电client.query。您应该只调用一次建立数据库连接,之后pg.Client将使用它来发送所有后续请求。