Как получить значение после fetch-запроса?

Делаю fetch-запрос в одном файле:
const fetch = require('node-fetch');

module.exports = fetch(URL, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/xml',
  }
})
  .then(async function (res) {
    const text = await res.text();
    console.log(text);
  })
  .then((data) => {
    return data;
  });

Вывожу результат в другом:
const postRequest = require('./postRequest');

console.log(postRequest);

Вывод в консоли:
63b9a92ed9db3087199140.png
Почему такой вывод и как получить читаемое значение?
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
irtek
@irtek
Wordpress-addicted
Если у вас идея обработчик ответа оставить внутри модуля, то в первом файле меняете на

const fetch = require('node-fetch');

module.exports = async () => {
  return fetch(URL, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/xml'
    }
  })
    .then((res) => {
      return res
    })
}

т.е. вы должны экспортировать асинхронную функцию, которая возвращает ответ и в ней уже можете сделать свои обработчики результата.

А в результирующем файле просто выводите результат в then, ожидая результат выполнения асинхронной функции, которую получили:

const postRequest = require('./postRequest');

postRequest()
  .then(function (res) {
    console.log(res);
  })
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Geminix
@Geminix
Фуллстек nuxt, .net разработчик
нет return после получения text
Ответ написан
Ваш ответ на вопрос

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

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