1

Twitter Stream APIにアクセスするための次の単純な Coffeescript コードがあります。

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デフォルトではerror、Node.js EventEmittersのイベントは、リッスンされていない場合、スローされます。追加する必要があります

res.on 'error', # whatever

エラーを処理します。

これにより、エラーがスローされないようにするだけであることに注意してください。エラーの発生を止めることはできません。

于 2012-09-15T05:22:29.523 に答える