используя setTimeout в nodeJS - PullRequest
0 голосов
/ 23 марта 2020

nodeJS сводит меня с ума, я пытаюсь отправить запрос получения API до его окончательной обработки, не могу заставить его работать, помогите ..

function checkReturnValue(done){
              request(options, function (error, response) { 
                if (error) throw new Error(error);
                if (response.body.scan_results.progress_percentage != 100) 
                {
                  console.log('if');
                  setTimeout(checkReturnValue(done), 50);
                }
                else 
                {
                  console.log('else');
                  return done(response.body);
                }
              });
          };

  checkReturnValue ((body) => {
   console.log(body);
   });

1 Ответ

1 голос
/ 23 марта 2020

Вы используете результат из checkReturnValue(done) в качестве функции для вызова после истечения времени ожидания.

Попробуйте вместо этого указать функцию, которую нужно вызвать:

setTimeout(() => checkReturnValue(done), 50);
...