首页 > 解决方案 > 每当发生错误时,NodeJs 应用程序“挂起”或“冻结”

问题描述

当我向我的 nodejs 服务器发出多个 post 请求并且所有参数都正确时,一切正常(并且不会冻结)但是当我使用不正确的参数发出多个 post 请求时,我的 nodejs 服务器只是冻结/挂起一段时间一会儿。为什么是这样?

这是我的代码顺便说一句

app.post('/pushtransaction', function(req, res) {
    console.log(req.body);
    console.log(5);
    if (req.body.sigs) {
        let sigver = xmf.modules.ecc.Signature.from(req.body.sigs).toString();
        let lasig = [sigver];
        console.log(req.body.packedTr);
        let transi = JSON.parse(req.body.packedTr);

        //let sigver = req.body.sigs;
        let package = {
            compression: 'none',
            transaction: transi,
            signatures: lasig
        }

        console.log(package);
        //Pushes tx in correct format
        xmf.pushTransaction(package).then(result=>{
            res.send(result);
            res.end();
            console.log(result);
        }).catch(err => {
            console.log(err)
        });
    }
})

标签: javascriptnode.jsserver

解决方案


当您遇到错误时,您的 Node 服务器除了错误之外不知道该做什么console.log()。它需要结束该请求并发送一些响应。res.status(400).send({ error: err })当你在捕获范围内时,你可以。


推荐阅读