NodeJs错误:发送后无法设置标题

我是新来的nodejs和坚持这个错误:发送后无法设置标头。 以下是我的代码。 请帮忙。 我用邮差来testing这个代码。 它正在为前2击中,但第三次打这个错误即将到来。

const http = require('http'); const fs = require('fs') module.exports.verifyPyeval5 = function(request, response){ let filePath = "D:/PyEval/NewPyEvalRequests/solution.txt"; fs.readFile(filePath, 'utf8', function (err,data) { var json = JSON.parse(data); post_call(json,function(res){ response.status(200) .json(res); }); }); }; var post_call = function(new_val,callback){ var post_req = http.request(post_options, function(res) { res.setEncoding('utf8'); res.on('data', function (chunk) { callback(chunk); }); }); post_req.write(JSON.stringify(new_val)); post_req.end(); }; var post_options = { host: 'acclabserv', port: '8080', path: '/generate', method: 'POST', headers: { 'Content-Type': 'application/json' } }; 

我得到它的问题是callback函数它被调用多一次。

 var post_call = function(new_val,callback){ var post_req = http.request(post_options, function(res) { res.setEncoding('utf8'); var str = null; res.on('data', function (chunk) { str += chunk; }); res.on('end', function () { callback(str); }); }); post_req.write(JSON.stringify(new_val)); post_req.end(); }; 

还有一件事要注意这里我不知道如果它的对象的卡盘types,你想在响应数组的对象,那么你可以使用这个

var str = []; //在req.on('data')str.push(chunck)