Мой module.exports возвращается как [объект Object] - PullRequest
1 голос
/ 08 февраля 2020

Я использую API для получения необходимой мне информации.

let bodyapi = await axios.get(`www.example.com`)

Затем я экспортирую нужную мне информацию следующим образом:

const number = bodyapi.data.slice(-11);

module.exports = number

И затем запускаю ее на своем фактическом файл с const number = require('./myapp.js') (как всегда).
Но проблема в том, что когда я читаю его, он возвращает [object Object]

const number = require('./myapp.js')
sleep(5000) // It's a timeout function I've set, ignore it, it's just so I don't run the code too fast since it uses API''
console.log("Your ID: " + number) //Here is where it reads as [object Object]

Результат консоли:

Your ID: [object Object]


Мой вопрос: как я могу исправить это, так что он читает то, что мне нужно это прочитать? Бодиапи превращается в функцию «асин c». Я использую Axios для чтения API.


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

Ответы [ 2 ]

4 голосов
/ 08 февраля 2020

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

async function getResponse() {

  let bodyapi = await axios.get(`www.example.com`);
  const number = bodyapi.data.slice(-11);
  return number;
}

module.exports = getResponse;

Затем, где бы вы ни захотели ее использовать, вы можете использовать ее следующим образом

const getResponse = require('./myapp.js');

getResponse()
  .then(number => console.log(number));

ИЛИ, используя async / await


const getResponse = require('./myapp.js');

(async() => {
   const number = await getResponse();
   console.log(number);
})();

Относительно его регистрации как [объект объекта]. Если вы попытаетесь объединить объект со строкой, вы увидите это поведение.

2 голосов
/ 08 февраля 2020

Проблема с консольным журналом. Вы структурируете свой числовой объект: Попробуйте следующее:

const number = require('./myapp.js')
sleep(5000) // It's a timeout function I've set, ignore it, it's just so I don't run the code too fast since it uses API''
console.log("Your ID: ", number) //
...