From e58d2b342d881330e699f2ec668c0012452d4303 Mon Sep 17 00:00:00 2001 From: Sciator <39964450+Sciator@users.noreply.github.com> Date: Sun, 23 Oct 2022 14:16:41 +0200 Subject: [PATCH] refactor: use iterateRows --- pages/api/devices/_devices.js | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) 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