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