几天前我正在学习NodeJS。 我在arduino中制作了Modbus TCP通信器程序。我用mariaDB制作了一个NodeJs服务器。 我从许多github示例资源中获得了一些代码。 (例如,node-modbus,mariadb) 但是当我混合他们的代码时,问题开始出现。 我只是想在数据库中插入数据。 我试图创建变量,然后将代码放入setInterval函数中。但是失败了。 我有两个代码。
client.on('connect', function () {
setInterval( function () {
client.readHoldingRegisters(0, 125).then((response) =>
console.log(response.payload))
asyncFunction();
}, time_interval) /* reading coils every second */
})"
const mariadb = require('mariadb');
const pool = mariadb.createPool({host: '127.0.0.1', port:3306, user:
'root', password:'###', database:'test',connectionLimit: 5});
async function asyncFunction() {
let conn;
try {
conn = await pool.getConnection();
const rows = await conn.query("SELECT * from test.egtest");
console.log(rows); //[ {val: 1}, meta: ... ]
const res = await conn.query("INSERT INTO test.egtest value (?, ?)", [1,
"mariadb"]);
console.log(res); // { affectedRows: 1, insertId: 1, warningStatus: 0 }
} catch (err) {
throw err;
} finally {
if (conn) return conn.end();
}
}
var data_result;
client.on('connect', function () {
setInterval( function () {
client.readHoldingRegisters(0, 125).then((response) =>
console.log(response.payload))
data_result= response.payload;
asyncFunction();
}, time_interval) /* reading coils every second */
})"
const mariadb = require('mariadb');
const pool = mariadb.createPool({host: '127.0.0.1', port:3306, user: 'root', password:'###', database:'test',connectionLimit: 5});
async function asyncFunction() {
let conn;
try {
conn = await pool.getConnection();
const rows = await conn.query("SELECT * from test.egtest");
console.log(rows); //[ {val: 1}, meta: ... ]
const res = await conn.query("INSERT INTO test.egtest value (?, ?)", [1, data_result]);
console.log(res); // { affectedRows: 1, insertId: 1, warningStatus: 0 }
} catch (err) {
throw err;
} finally {
if (conn) return conn.end();
}
}
现在NodeJS显示错误“未定义响应”,我正在尝试放入一些C或JAVA语言代码。也许这是不一样的语言。 我该如何解决?以及如何学习javasciprt的基本语法?