我正在使用knox amazon上传器作为“代理”从Javascript上传切片文件。
但值得注意的是,有时候(遗憾的是有时因此我无法确切地确定错误)当response.statusCode
不是200时,nodeJS会因异常而崩溃:
assert.js:93抛出新的assert.AssertionError({
在IncomingMessage中AssertionError:true == false (http.js:1341:9)在IncomingMessage.emit(events.js:61:17)上 Socket.ondata上的HTTPParser.onMessageComplete(http.js:133:23) (http:js:1231:22)在Socket._onReadable(net.js:683:27)上 IOWatcher.onReadable [作为回调](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();
答案 0 :(得分:0)
这看起来是node.js中的错误< v0.5其中Socket.destroySoon()
没有立即关闭套接字。