Bugfix: clear working state after timeout

This commit is contained in:
Douglas Barone 2021-11-04 10:31:42 -04:00
parent 7cbb561030
commit 77f3a85a57

View File

@ -147,21 +147,20 @@ async function updateDB(onlineDevices) {
function updateDevicesInfo() {
return new Promise(async (resolve, reject) => {
if (working) reject('A última atualização ainda não terminou')
else {
if (working) return reject('A última atualização ainda não terminou')
working = true
const updateTimeout = setTimeout(() => {
reject('A função atingiu seu tempo limite.')
working = false
}, TIMEOUT_IN_MILLISECONDS)
try {
const startTime = performance.now()
const onlineDevices = await getOnlineDevices()
await updateDevicesStatus()
await updateDB(onlineDevices)
const endTime = performance.now()
@ -182,9 +181,7 @@ function updateDevicesInfo() {
tags: ['wifiDevices'],
message: `Foram atualizados ${
onlineDevices.length
} dispositivos Wi-Fi em ${((endTime - startTime) / 1000).toFixed(
2
)}s.`,
} dispositivos Wi-Fi em ${((endTime - startTime) / 1000).toFixed(2)}s.`,
data: onlineDevices
})
} catch (e) {
@ -199,7 +196,6 @@ function updateDevicesInfo() {
working = false
clearTimeout(updateTimeout)
}
}
})
}