如何复制问题,
一个。持续刷新浏览器(cmd + r),然后应用程序崩溃并显示以下消息
B中。运行mocha测试套件,在我内部使用npm模块请求获取http请求并且所有这些请求都通过,但是当我在测试运行时使用postman并行发送另一个请求时,应用程序崩溃并显示以下消息
http.js:731
throw new Error('Can\'t render headers after they are sent to the client.'
^
Error: Can't render headers after they are sent to the client.
at ServerResponse.OutgoingMessage._renderHeaders (http.js:731:11)
at ServerResponse.writeHead (http.js:1152:20)
at puremvc.define.signInWithCredentialsSuccess (eval at include (/Library/WebServer/Documents/FICO/fico-node/app.js:3:32), <anonymous>:31:18)
引用的代码
signInWithCredentialsSuccess: function(request, response, authToken) {
response.writeHead(200, {'Content-Type': 'text/xml'})
response.end(this.mustache.render(this.successTemplate, {authToken: authToken}));
},
这是一个结合puremvc的快速应用程序,因此架构有点不同,例如在app.get之后,请求和响应被传递给完成任务的不同解耦模块和函数,并简单地结束通过写入一些输出进行响应,然后使用传递的新响应/请求对象为每个后续请求重复该过程。
我假设我应该为每个请求获取一个新的请求和响应对象,但错误消息混淆了由于某种原因app.get给了我一个旧的响应对象的引用,该响应对象已经用于发送信息向客户说明拒绝修改标题的原因。
我的节点版本是0.10.32
请告知