Я пытаюсь создать приложение, которое поможет пользователю найти друга на основе определенных вопросов, на которые он ответил.Я продолжаю сталкиваться с ошибкой, которая говорит: «TypeError [ERR_INVALID_CALLBACK]: обратный вызов должен быть функцией», когда код попадает в строку 46 файла, которая использует fs для изменения содержимого другого файла, чтобы добавить информацию, введенную пользователемна веб-странице для этого приложения, и я понятия не имею, почему это происходит.
const fs = require('fs');
module.exports = function(app, path) {
app.get('api/friends', function(req, res) {
fs.readFile("app/data/friends.js", "utf8", function(err, data) {
if (err) throw err;
else {
res.json(JSON.parse(data));
}
});
});
app.post('/api/friends', function(req, res) {
let results = [];
const postResponse = JSON.stringify(req.body);
fs.readFile('app/data/friends.js', function (err, data) {
if (err) throw err;
let friendFile = JSON.parse(data);
console.log(friendFile[0].answers);
let closestMatch = 0;
let matchScore = 999999999999999;
for (let i = 0; i < friendFile.length; i++) {
console.log(friendFile.length);
let spaceBetween = 0;
for (let j = 0; j < friendFile[i].answers.length; j++) {
// ['answers[]'][j]
console.log(req.body.answers[j]);
spaceBetween += Math.abs((parseInt(req.body.answers[j]) - parseInt(friendFile[i].answers[j])));
}
if (spaceBetween <= matchScore) {
matchScore = spaceBetween;
closestMatch == i;
}
}
results.push(friendFile[closestMatch]);
friendFile.push(JSON.parse(postResponse));
fs.writeFile("app/data/friends.js", JSON.stringify(friendFile));
res.send(results[0]);
})
})
}
Я ожидаю, что это отредактирует файл friends.js, чтобы добавить всю информацию из ответов, которые пользователь дал наопрос и для того, чтобы опубликовать на странице ответы ближайшего друга пользователя на основе ответов, которые они дали.