gpt4 book ai didi

javascript - Node.js 类型错误 : callBack is not a function

转载 作者:行者123 更新时间:2023-12-03 05:55:15 25 4
gpt4 key购买 nike

这里有两个函数

function pushArray(data, array){
var index = -1;
array.forEach(function(item) {
if(item.name === data.name) {
index = array.indexOf(item);
console.log('found existing item at ' + index);
}
});
if(index >= 0){
array[index] = newItem;
}else {
array.push(newItem);
}
}

function showData(data, array){
try {
if(data){
console.log('data \n');
console.log(data.toString());
console.log(array);
}
} catch (error) {
console.log("Showing data caused error: " + error);
}
}

这就是回调的调用方式

fsReadFile(csvPath1, pushArray. array1);
fsReadFile(csvPath1, showData, array1);

function fsReadFile (filePath, callBack, array) {
fs.readFile(filePath, function(err, data) {
if(err) {
console.error(err);
}
callBack(data, array);
});
}

当作为回调发送时,显示数据显示数据和数组,但正如 Node js提示的那样,pushArray不能作为回调工作

    array.forEach(function(item) {
^

TypeError: Cannot read property 'forEach' of undefined

这更多的是回调还是数组问题?如果有人可以解释根本原因吗?

最佳答案

fsReadFile(csvPath1, pushArray(). array1);

您正在立即调用pushArray,不带任何参数(因此array未定义),并且返回值作为第二个参数传递。 不要在那里调用它

然后你有一个拼写错误,你有一个 . 而不是逗号(所以你尝试读取 pushArray( 返回值的 array1 属性) ) 并且根本不传递第三个参数)。

fsReadFile(csvPath1, pushArray, array1);

关于javascript - Node.js 类型错误 : callBack is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39958956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com