@Prakashsharma сделано

аюсь преобразовать часть своего кода в обещания, но не могу понять, как связать новое обещание с обещанием.

Моя функция обещания должна проверять содержимое массива каждую секунду или около того, и если есть какой-либо элемент внутри, он должен разрешиться. В противном случае следует подождать 1 с, проверить еще раз и так далее.

function get(){
    return new Promise((resolve) => {

      if(c.length > 0){
        resolve(c.shift());

      }else{
        setTimeout(get.bind(this), 1000);
      }

    });

}


let c = [];

setTimeout(function(){
  c.push('test');
}, 2000);

Вот как я ожидаю, что моя функция обещания get () будет работать, она должна напечатать «test» через 2 или 3 секунды максимум:

get().then((value) => {
  console.log(value);
});

Очевидно, это не работает, ничего не печатается

Ответы на вопрос(5)

Ваш ответ на вопрос