@Byakugan

Как сохранить результат функции в отдельную переменную?

Есть модуль request которые получает statusCode, как statusCode сохранить в отдельную переменную чтобы можно было работать с ней за переделами функции ?

var request = require('request');

var URL = 'site.ru';

request(URL, function (err, res, body) {
    console.log(res.statusCode);
});

вот так не получается
var request = require('request');

var URL = 'site.ru';
let a
request(URL, function (err, res, body) {
   a = res.statusCode
});
console.log(a);

так тоже
var request = require('request');

var URL = 'site.ru';

let a = request(URL, function (err, res, body) {
    console.log(res.statusCode);
});

console.log(a.statusCode);
  • Вопрос задан
  • 188 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Обернуть вызов функции в Promise и использовать await.
И забудьте уже про var. Переходите на let/const.
Ответ написан
Kentavr16
@Kentavr16
long cold winter
ответ здесь. Даже с примером по твоему вопросу.
Проблема в том что ты пытаешься получить асинхронное значение в синхронном коде. Это не будет работать. Почитай про промисы и колбеки в контексте асинхронности джаваскрипт. Будет куда полезнее за строчку кода в ответе на твой вопрос.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
24 нояб. 2024, в 03:11
500 руб./за проект
24 нояб. 2024, в 01:35
5000 руб./за проект
24 нояб. 2024, в 01:24
500 руб./за проект