为了账号安全,请及时绑定邮箱和手机立即绑定

node express api报错

node express api报错

慕姐8265434 2019-03-06 09:14:27
这是请求的方法app.get('/api/:id', function (req, res) {    connection.connect();    connection.query('SELECT * from testmodel_url WhERE id='+req.params.id, function(err, rows, fields) {        if (err) throw err;        let obj={            'status':200,            'message':'success',            'data':rows        }        res.json(obj)    });    connection.end();});使用postman第一次请求可以获得正确的结果再次请求就会报错events.js:182      throw er; // Unhandled 'error' event      ^Error: Cannot enqueue Handshake after invoking quit.    at Protocol._validateEnqueue (C:\bin\pro\express\node_modules\_mysql@2.15.0@mysql\lib\protocol\Protocol.js:204:16)    at Protocol._enqueue (C:\bin\pro\express\node_modules\_mysql@2.15.0@mysql\lib\protocol\Protocol.js:139:13)    at Protocol.handshake (C:\bin\pro\express\node_modules\_mysql@2.15.0@mysql\lib\protocol\Protocol.js:52:23)    at Connection.connect (C:\bin\pro\express\node_modules\_mysql@2.15.0@mysql\lib\Connection.js:130:18)    at C:\bin\pro\express\index.js:29:16    at Layer.handle [as handle_request] (C:\bin\pro\express\node_modules\_express@4.16.3@express\lib\router\layer.js:95:5)    at next (C:\bin\pro\express\node_modules\_express@4.16.3@express\lib\router\route.js:137:13)    at Route.dispatch (C:\bin\pro\express\node_modules\_express@4.16.3@express\lib\router\route.js:112:3)    at Layer.handle [as handle_request] (C:\bin\pro\express\node_modules\_express@4.16.3@express\lib\router\layer.js:95:5)    at C:\bin\pro\express\node_modules\_express@4.16.3@express\lib\router\index.js:281:22
查看完整描述

3 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

从文字上讲connection.query是异步操作,为什么没返回结果就执行connection.end();


查看完整回答
反对 回复 2019-03-22
  • 3 回答
  • 0 关注
  • 784 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信