0

アプリケーションにリクエストがスローされると、別の Web サーバーにリクエストを送信します。しかし、今までに見たことのない奇妙な解析エラーが発生することがあります。

解析エラーは次のようになります。

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Parse Error
    at Socket.ondata (http.js:1150:24)
    at TCP.onread (net.js:354:27)

これは、リクエストを送信するために使用するコードです。

var request = http.request(options);
request.end();
request.on('response', function (response) {
    response.on('end', function () {
        console.log('Response received');
    }
}

私が持っている質問は、このエラーが発生したときにリクエストを再度スローできるように、これをどのように軽減できるかということです。

4

1 に答える 1

0

まず第一に、すべてのAPIがメソッドであるとは限らないため、一般的にすべての.on()リスナーを優先する必要があります。.end()nextTick.end()

.on('error')次に、リスナーがない場合、ノードのイベントエミッターはエラーをスローします。したがって、コードは次のようになります。

var request = http.request(options)
request.on('response', function (response) {
  response.on('end', function () {
    console.log('Response received.')
  })
  response.on('error', function (err) {
    console.log('I got a response error.')
    console.error(err.stack)
  })
})
request.on('error', function (err) {
  console.log('I got a request error.')
  console.error(err.stack)
})
request.end()
于 2013-02-02T08:07:26.883 に答える