Я получаю эту ошибку: «TypeError: обратный вызов не является функцией», но функция все еще выполняется - PullRequest
0 голосов
/ 13 апреля 2020

Я получаю 'TypeError: обратный вызов не является функцией при попытке выполнить функцию.

Мой код:

const api = require('axios');

getData(printData);


async function getData(callback) {
  try {
    const results = await api.get('https://sampleurl.com//wp-json/api/data');
    const dataArray = results.data.items;
    callback(dataArray);
  } catch (err) {console.error(err)}
}

function printData(data) {
  console.log('Got data:', data.length);
}

module.exports = getData();

Я получаю этот ответ в консоли:

TypeError: callback is not a function
    at getLabiExams (/backend/src/scrapers/xxx/getData.js:10:5)
    at processTicksAndRejections (internal/process/task_queues.js:94:5)
Got data: 698

Обратите внимание, что функция все еще работает должным образом, хотя она возвращает ошибку «обратный вызов не является функцией». Что я тут не так делаю?

1 Ответ

1 голос
/ 13 апреля 2020
module.exports = getData();

Вы случайно вызываете свою функцию здесь. Поскольку на данный момент аргументы ему не передаются, callback не определено, и поэтому не является функцией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...