@Evelate

Как создать бесконечную асинхронную проверку?

Код
'use strict'
let bool = false;
let road = [];

async function stopStart() {
  setInterval(()=>{
    if (road.length >= 3){
      bool = true;
    } else bool = false;
  }, 100);
};

async function move() {
  setInterval(()=>{
    if(bool == true){
      road.shift();
    }
  }, 100);
};

function randomInteger(min, max) {
  let rand = min + Math.random() * (max + 1 - min);
  return Math.floor(rand);
};

setInterval(() => {
  let integer = randomInteger(0, 1);
  let push = randomInteger(1, 10);
  if (integer == 1) {
    road.push(push);
  };
  console.log(road);
}, 1000);
stopStart();
move();

5f5cf3c0bdbce820786137.jpeg

Идея на фото. Есть некий ограничитель (ворота), которые проверяют условие заполненности массива - одна асинхронная функция
Вторая асинхронная функция проверяет открыты ли ворота и можно ли очистить одну ячейку в массиве
В массив добавляются рандомно значения.

Моего воображения хватило только на setInterval, чтобы создать вечную проверку, но мне кажется есть более лучший способ, т.к. в моем примере нет никакого смысла в async перед функцией или же в другой конструкции Promise()

Как мне изменить мои первую и вторую функции?
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Karpion
Как правило, такие проверки привязывают к функции, меняющей количество объектов. Благо ООП к этому предрасполагает, давая возможность повесить на переменную обработчик, вызываемый как при изменении значения этой переменной, так и при считывании её значения.

Мне кажется, Вам надо смотреть "выше" - зачем всё это затевается.
Ответ написан
Комментировать
@Azperin
Дилетант
https://learn.javascript.ru/proxy на добавление или удаление в массиве
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы