diff --git a/src/classes/assignment.js b/src/classes/assignment.js index 46ca1dc2db949596b76ab3a660d2762195454bbd..a3fe7fff57779147685b52aa1369535c0637f633 100644 --- a/src/classes/assignment.js +++ b/src/classes/assignment.js @@ -321,10 +321,10 @@ class Task2 { let misplacedRobot = targetTable.getRobotAtTable(); let token = await misplacedRobot.acquire(); let promiseSleep = new Promise((resolve) => { - setTimeout(() => { + misplacedRobot.dummyAction().then( () => { misplacedRobot.release(token); resolve(true); - }, 4000 + Math.random() * 5000); + }); }); await safeTeleportTo(randRobot.getRobotID(), targetTable.getTableID()); await promiseSleep; diff --git a/src/classes/task2/robot-waiter.js b/src/classes/task2/robot-waiter.js index afd2136ec3ea2dabd06e9ae2d68d0eabdad9e35e..682fdf1586d2f7119dc92d7aaa61c4d4a79e56f4 100644 --- a/src/classes/task2/robot-waiter.js +++ b/src/classes/task2/robot-waiter.js @@ -158,5 +158,20 @@ class RobotWaiter { this._nextAcquisitionToken = 0; this._acquisitionTokens = []; } + + async dummyAction(){ + this.#startProcess(`dummyAction()`); + try{ + let actionTime = parseInt(2000 + Math.random() * 5000); + + await this.sleep(actionTime); + } catch (error) { + throw(error); + } finally { + this.#endProcess(); + } + + return true; + } } \ No newline at end of file