1

我有以下简单的 Coffeescript 代码来访问 Twitter Stream API

http = require 'http'

options =
    port: 443
    host: 'stream.twitter.com'
    path: '/1.1/statuses/filter.json?track=keyword'
    headers:
        'Authorization': 'Basic ' + new Buffer('[user]:[pass]').toString 'base64'
        'Host': 'stream.twitter.com'
    method: 'GET'

callback = (res) ->
    console.log res
    res.on 'data', (chunk) ->
        console.log chunk

    res.on 'end', -> console.log 'end'

    # res.on 'close', -> res.emit 'end'

http.request options, callback

为什么我越来越

throw arguments[1]; // Unhandled 'error' event

Error: socket hang up
4

1 回答 1

2

错误触发了您未在监听error的响应 ( ) 上的事件。res默认情况下,errorNode.js EventEmitters 中的事件,如果没有被监听,将会抛出。您需要添加

res.on 'error', # whatever

并处理错误。

请注意,这只会防止错误被抛出;它不会阻止错误的发生。

于 2012-09-15T05:22:29.523 回答