Javascript 如何从异常函数中传递值
我想将响应从节点服务器发送到客户端,而不是问候函数Stats.calculate()的返回值,但我不知道如何做Javascript 如何从异常函数中传递值,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,我想将响应从节点服务器发送到客户端,而不是问候函数Stats.calculate()的返回值,但我不知道如何做 router.post('/calc', (req, res) => { request.get('a secret url api', (err,res,bodyJson) => { if(err) console.log('error'); if(res.statusCode !== 200 ) console.log
router.post('/calc', (req, res) => {
request.get('a secret url api', (err,res,bodyJson) => {
if(err) console.log('error');
if(res.statusCode !== 200 ) console.log('error');
Stats.calculate(bodyJson, req.body.firstVal, req.body.secondVal);
});
res.json({greeting: "ciao"});
});
有什么建议吗?您可以在回调中调用
res.json
:
router.post('/calc', (req, res) => {
request.get('a secret url api', (err, response, bodyJson) => {
if(err) console.log('error');
if(response.statusCode !== 200 ) console.log('error');
var statsResult = Stats.calculate(bodyJson, req.body.firstVal, req.body.secondVal);
res.json({result: statsResult});
});
});
您只需在回调中调用
res.json
:
router.post('/calc', (req, res) => {
request.get('a secret url api', (err, response, bodyJson) => {
if(err) console.log('error');
if(response.statusCode !== 200 ) console.log('error');
var statsResult = Stats.calculate(bodyJson, req.body.firstVal, req.body.secondVal);
res.json({result: statsResult});
});
});
不移动
res.json({问候语:“ciao”})
insiderequest.get
解决了您的问题吗?否:/TypeError:res.json不是函数res.json({问候语:“ciao”})
insiderequest.get
解决了您的问题?否:/TypeError:res.json不是一个函数,它不起作用。我得到错误:TypeError:res.json不是function@xTomasM现在检查我编辑的答案。问题是因为request.get中的“res”参数覆盖了router中的“res”。postI只将内部参数重命名为“response”,您是我的英雄;)它起作用了!它不起作用。我得到错误:TypeError:res.json不是function@xTomasM现在检查我编辑的答案。问题是因为request.get中的“res”参数覆盖了router中的“res”。postI只将内部参数重命名为“response”,您是我的英雄;)它起作用了!