выполнение?
Симулятор лифта. Есть лифт и этажи. Если лифт свободен и не на этаже, то при нажатии кнопки этажа лифт едет к нему. Скорость езды — 1 этаж /секунда.
По прибытию на этаж лифт стоит 3 сек на месте, далее готов к отправке на другие этажи.
Когда лифт уже в движении на этаж, то при нажатии других кнопок они падают в очередь на выполнение.
(соответственно лифт сначала выполнит текущую задачу, подождёт 3 сек на этаже и поедет к новой).
Я реализовал это через массив задач, в который пушаться этажи, куда нужно ехать.
Сложность возникла, когда нужно удалить элемент по прибытию на этаж.
Обработкой занимается вотчер, который следить запушилась ли новая задача или нет.
Если есть только одна задача, лифт её выполнил и я удалил задачу с массива, то вотчер тригерит сам себя и говорит, что нет id у задачи (потому что массив пустой, нет элементов).
Есть ли какое-то более элегантное решение? Или надо как-то проверять, чтобы вотчер сам себя не тригерил
это обязательно на вью делать?
Мне кажется, ты в мою контору тестовое делаешь :)
Очень советую сделать эту задачу с визуализацией.
Небольшая подсказка, у вас есть push, pop, shift, unshift.
Можно отслеживать не изменения массива, а изменения его длины. Тогда если длина уменьшилась — ничего не делаем.
А зачем вам вообще вотчет?
Ну да, там ui будет.
Очень прикольная задачка, мне нравится. Как раз на джуна, без большого скоупа работы.
Буквально я. Мне тоже понравилась.
☝🏻
Обсуждают сегодня