处理coffeescript中的Http错误

时间:2013-04-09 15:51:14

标签: coffeescript

我正在尝试在coffeescript中处理一个http请求,但是如果服务器关闭,应用程序就会因为下面的错误而死,而我找不到合适的解决方案。

代码:

 http.get "http://localhost:8080/health", (res) ->
        status =  res.statusCode
        value = if status == 200 then 1 else 0
        console.log value
        server.push_metric metricPrefix , value
        res.on 'error', () ->
          colsone.log "Tomcat Disconected"

错误:

events.js:71
        throw arguments[1]; // Unhandled 'error' event
                       ^
Error: connect ECONNREFUSED
    at errnoException (net.js:770:11)
    at Object.afterConnect [as oncomplete] (net.js:761:19)

1 个答案:

答案 0 :(得分:1)

我认为您必须在单独的事件处理程序中主动侦听错误。现在,您将事件处理程序附加到响应(res),但它需要附加到请求对象本身。请参阅the docs

req = http.get "http://localhost:8080/health", (res) ->
  status = res.statusCode
  value = if status == 200 then 1 else 0
  console.log value
  server.push_metric metricPrefix , value

req.on 'error', ->
  console.log "Tomcat Disconected"

此外,您当前的错误处理程序中存在拼写错误:colsone.log