您好我不明白为什么我有这个错误,我认为回调是在收到数据后执行的,任何想法来自哪里?
非常感谢!
非常感谢!
节点错误:
SyntaxError: Unexpected end of input at Object.parse (native)
我解析了正文的答案,然后将其发送到计算函数,然后再将其发送到页面= /
var options = { method: 'POST',url: self.rippledataapiProxyHost.account_offers_exercised,headers: { "Content-Type": "application/json","Accept": "application/json" },body:parameters }; var callback = function(error,response,body) { if (error) { console.log('error',error); res.send(500,'something went wrong'); } console.dir("bodyyyyyyyy====>",body); var rippleoffersexercised = new self.datacalcul.rippleoffersexercised; var data = JSON.parse(body); var datas = rippleoffersexercised.calculate(data); res.status(response.statusCode).send(datas); } request(options,callback);
这是堆栈跟踪:
'bodyyyyyyyy====>' SyntaxError: Unexpected end of input at Object.parse (native) at Request.callback [as _callback] (/home/francois/dev/ripplereport/webserver-newclientFrancois/server/middlewares/proxy/rippledataapiProxy.js:77:20) at Request.self.callback (/home/francois/dev/ripplereport/webserver-newclientFrancois/node_modules/request/request.js:344:22) at Request.emit (events.js:98:17) at Request.<anonymous> (/home/francois/dev/ripplereport/webserver-newclientFrancois/node_modules/request/request.js:1239:14) at Request.emit (events.js:117:20) at IncomingMessage.<anonymous> (/home/francois/dev/ripplereport/webserver-newclientFrancois/node_modules/request/request.js:1187:12) at IncomingMessage.emit (events.js:117:20) at _stream_readable.js:943:16 at process._tickCallback (node.js:419:13) [gulp] [nodemon] app crashed - waiting for file changes before starting...
解决方法
正如评论中所讨论的那样,您可能会得到空的或格式错误的请求,导致JSON.parse抛出.这样的事情可以帮助你:
var callback = function(error,body) { if (error) { console.log('error',error); return res.send(500,'something went wrong'); } try { var data = JSON.parse(body); } catch(e) { console.log('malformed request',body); return res.status(400).send('malformed request: ' + body); } console.log('body',body); var rippleoffersexercised = new self.datacalcul.rippleoffersexercised; var datas = rippleoffersexercised.calculate(data); return res.status(response.statusCode).send(datas); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。