javascript - 我收到此错误 : 'TypeError: callback is not a function' , 但该函数仍在执行

标签 javascript node.js callback axios

尝试执行函数时,我收到“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

请注意,该函数仍然正常工作,尽管它返回“回调不是函数”错误。我在这里做错了什么?

最佳答案

module.exports = getData();

您不小心在这里调用了您的函数。由于此时没有参数传递给它,因此 callback 未定义,因此不是一个函数。

关于javascript - 我收到此错误 : 'TypeError: callback is not a function' , 但该函数仍在执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61190720/

相关文章:

javascript - Nodejs 重构 if 条件函数

node.js - 嵌入式 Firebird 数据库

javascript - 回调函数中的参数从哪里来? Node .js

ruby-on-rails - Ruby - 为什么这个回调函数不起作用

javascript - TYPO3 gzip 压缩

javascript - 如何仅在 jquery 插件中的当前输入文本框上触发同名类?

javascript - 如何制作圆形 map ?使用谷歌地图

javascript - 迭代 JSON 对象并将元素打印到屏幕的最佳方法是什么?

node.js - Express js URL 清理

javascript - 带有文本文件和硬编码回调的跨域 JSONP