@ar2rsoft
PHP-developer

Как сделать функцию, возвращающую полученное от https.request значение?

Приветствую.

Подскажите, пожалуйста, человеку привыкшему к синхронному коду, как в JS сдеалть возврат значения?

Есть алгоритм, в котором я пробегаюсь по пользователям, и вызываю у них определенный метод:
async function checkAll() {
  ...
  for (let i in users) {
    if (users[i].check()) {
      users[i].checked = true
      await users[i].save()
    }
  }
  ...
}


Вот метод check, который вызывается
Schema.methods.check = async function () {
  const req = https.request(options, (res) => {
    res.on('data', (d) => {
      // Как тут сделать return для родительского метода?
    });
  });
  req.on('error', (e) => {
    console.error(e.message);
  });
  req.end();
}


Внутри метода users[i].check() мне нужно сделать запрос на внешний адрес, дождаться его выполнения и вернуть результат. В доке вижу только как повесить на событие функцию.

В голову приходит только аргументом передать в метод check() функцию, выполлняющую то что мне нужно, но что-то подсказывает что есть какой-то метод более удобный (наподобии конструкции await, которая дожидается результата).
  • Вопрос задан
  • 27 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы