为什么我的回复始终是http 400状态代码

时间:2019-10-11 16:28:54

标签: javascript node.js callback

我正在学习Node.js,并且正在研究一个示例应用程序。我有一个问题,为什么即使响应成功也总是收到http 400。

    abcRoutes.get('/fetch', function (req, res) {
     abc.getInfo(req,(err,response) =>{
       if(err){
         res.status(400).send(err);
       }else{
         res.status(200).send(response);
       }
     })
    });



       var getInfo = (req, callBack) => {

        ***some processing***
            if (err) {
                callBack(err);
            } else {
                callBack(result);
            }
        });
        client.close();
    }
})

}

2 个答案:

答案 0 :(得分:0)

错误在这里:

var getInfo = (req, callBack) => {
  //* **some processing***
  if (err) {
    callBack(err)
  } else {
    callBack(null, result) <---
  }
}

使用回调模式时,请记住第一个参数始终是错误。

答案 1 :(得分:0)

成功后,您应将第一个参数(err)设置为null

if (err) {
  callBack(err);
}
else {
  callBack(null, result);
}