我使用knox亞馬遜上傳器作爲「代理」從Javascript上傳切片文件。 但這事that've注意到的是,有時(可悲的是有時所以我不能準確識別錯誤)時response.statusCode
不是200的崩潰的NodeJS在一個例外:Nodejs亞馬遜上傳使用Knox崩潰在斷言錯誤
assert.js:93 throw new assert.AssertionError({
AssertionError: true == false at IncomingMessage.
(http.js:1341:9) at IncomingMessage.emit (events.js:61:17) at
HTTPParser.onMessageComplete (http.js:133:23) at Socket.ondata
(http.js:1231:22) at Socket._onReadable (net.js:683:27) at
IOWatcher.onReadable [as callback] (net.js:177:10)
有誰知道爲什麼發生這種情況?有沒有辦法來捕捉該異常,避免服務器崩潰?
下面是一些代碼,如果有幫助:
var request = client.request('PUT', '/' + params.fileName + '?partNumber=' + params.partNumber + '&uploadId=' + params.uploadId, {
'Content-Length': req.headers['content-length']
});
req.on('data', function(data){
request.write(data, 'binary');
});
request.on('response', function(response) {
if (response.statusCode== 200) {
console.log('Part '+ params.partNumber + ' inserted with etag: '+ response.headers.etag);
}
}).end();
實際的錯誤它給了我這樣的響應之前: {代碼:「將requestTimeout」, 消息:「你的套接字連接到服務器是無法讀取或在超時時間內寫入。空閒連接將被關閉「, 的requestId: '97007DD8BAD530BB', 主機ID: 'Bl9b9ggKKdnF0bBief0i + 1cNAT9eIQhObe2nMFYUqOktN3HlZ9lzs1izwAQxg50Y'} –