我的错误是:错误[ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头

时间:2019-05-13 12:26:51

标签: node.js handlebars.js web-development-server

我正在尝试在车把文件中输出result,当我运行服务器时,一切运行正常,但是当我检查浏览器时,它显示 [object Object],然后在控制台中写入以下错误:Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

问题是什么,我该如何解决?

const express = require('express');
var exphbs  = require('express-handlebars');
var http = require("http");
const net  = require('net');
const Web3 = require('web3');
var app = express();

app.engine('handlebars', exphbs({defaultLayout: 'layout'}));
app.set('view engine', 'handlebars');

const web3 = new Web3(new Web3.providers.IpcProvider("/home/terry/.ether1/geth.ipc",net))
console.log(web3.isConnected()) // return true if connected

web3.version.getNetwork((error, result) => {
    console.log('The result is: ' + result)
});

app.get('/', function (req, res, result) {
    res.render('index',{
        title: result
    });
});

app.listen(50000)
console.log('Server running at http://127.0.0.1:50000/');

我希望以title: result的方式输出[object Object],而不是<label prefix>/<label name>

1 个答案:

答案 0 :(得分:0)

result的功能:function (req, res, result)不是它的next()函数的结果,您不能像这样使用它

尝试这样的事情

app.get('/', function (req, res, next) {
    web3.version.getNetwork((error, result) => {
     res.render('index',{
        title: result
     });
    });

});