我正在使用InfluxDB作为数据库,我使用了influxdb-nodejs库模块来创建API以从Influxdb写入数据和查询数据。
Queryfunction.js API代码如下:
module.exports = {
queryfunc: function() {
const Influx = require('influxdb-nodejs');
const client = new Influx('http://127.0.0.1:8086/mydb');
client.query('http')
.where('type', '2')
.then(console.info)
.catch(console.error);
}
}
我使用script.js文件在Queryfunction.js API中调用queryfunc():
const myModule = require('./Queryfunction');
let val = myModule.queryfunc();
我使用命令节点脚本来运行脚本文件。 结果是一个数组 C:\ Users \ Admin \ Desktop \ reactApp \ API>节点脚本
{结果:[{statement_id:0,系列:[Array]}]}
我正在使用ReactJS创建前端UI组件。如何在ReactJS中获取结果数组数据?
答案 0 :(得分:1)
您要么需要写一个json文件,要么需要对数据库调用进行快速包装。
const express = require('express')
const app = express();
app.get('/api', (req, res, next) => {
const Influx = require('influxdb-nodejs');
const client = new Influx('http://127.0.0.1:8086/mydb');
client.query('http')
.where('type', '2')
.then(data => res.json(data)
.catch(err => next(err)); // error middleware to handle
}
app.listen('3000', () => console.log('running on http://localhost:3000'))
在反应范围内,您可以进行提取:
Class App extends React.Component {
componentDidMount() {
fetch('http://localhost:3000')
.then(res => res.json())
.then(data => this.setState( {data} ) )
render() {
....
}
}