diff --git a/pages/api/devices/_devices.js b/pages/api/devices/_devices.js index 587dad4..45a01dd 100644 --- a/pages/api/devices/_devices.js +++ b/pages/api/devices/_devices.js @@ -24,25 +24,18 @@ const influxdb = new InfluxDB({url: process.env.INFLUX_URL, token: process.env.I |> last()` const devices = {} - return await new Promise((resolve, reject) => { - queryApi.queryRows(fluxQuery, { - next(row, tableMeta) { - const o = tableMeta.toObject(row) - const deviceId = o.deviceId - if (!deviceId) { - return - } - const device = devices[deviceId] || (devices[deviceId] = {deviceId}) - device[o._field] = o._value - if (!device.updatedAt || device.updatedAt < o._time) { - device.updatedAt = o._time - } - }, - error: reject, - complete() { - resolve(devices) - }, - }) - }) + for await (const {values, tableMeta} of queryApi.iterateRows(fluxQuery)) { + const o = tableMeta.toObject(values) + const deviceId = o.deviceId + if (!deviceId) { + continue + } + const device = devices[deviceId] || (devices[deviceId] = {deviceId}) + device[o._field] = o._value + if (!device.updatedAt || device.updatedAt < o._time) { + device.updatedAt = o._time + } + } + return devices } \ No newline at end of file