Soy nuevo en el nodo js y apilé con este error durante mucho tiempo. ¿Puede alguien ayudarme a encontrar una solución! aquí está el código que he escrito!
router.get('/list',function (req, res, next) { res.render('listaccounts.ejs',{mybalance:mybalance}); }); //accounts creation router.post('/', function(req, res, next) { var passphrase = req.body.passphrase; var mybalance=web3.fromWei(web3.eth.getBalance(web3.eth.accounts[0])); var accountAddress=web3_.personal.newAccount("passphrase",function(error,result){ if(!error){ console.log(result); } else { res.render('error.ejs'); } }); res.redirect('/accounts/list'); });El problema radica en
if(!error){ console.log(result); } else { res.render('error.ejs'); } }); res.redirect('/accounts/list');Cuando captura la declaración else, representa la página, luego llama a la redirección de la página, pero los encabezados se enviaron durante res.render. En pocas palabras, no puede renderizar y redirigir al mismo tiempo
Tal como dijo Jakub. También puede tener un problema de ejecución asíncrona (no sabe qué se ejecutará primero, la redirección o el procesamiento). Creo que simplemente podrías:
var accountAddress=web3_.personal.newAccount("passphrase",function(error,result){ if(!error){ console.log(result); res.redirect('/accounts/list'); } else { res.render('error.ejs'); } });