From 0834cc358ff9bf30516da329f61dc80963860b6a Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Wed, 7 Jun 2023 17:27:48 +0100 Subject: [PATCH] chimer: avoid busy-loop when queuing next chime --- apps/chimer/widget.js | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/apps/chimer/widget.js b/apps/chimer/widget.js index 18358df9e..9a29c80f6 100644 --- a/apps/chimer/widget.js +++ b/apps/chimer/widget.js @@ -16,16 +16,10 @@ var settings = readSettings(); - function sleep(milliseconds) { - const date = Date.now(); - let currentDate = null; - do { - currentDate = Date.now(); - } while (currentDate - date < milliseconds); - } - function chime() { - for (var i = 0; i < settings.repeat; i++) { + let count = settings.repeat; + + const chime1 = () => { if (settings.type === 1) { Bangle.buzz(100); } else if (settings.type === 2) { @@ -33,8 +27,11 @@ } else { return; } - sleep(150); - } + if (--count > 0) + setTimeout(chime1, 150); + }; + + chime1(); } let lastHour = new Date().getHours();