在nodejs中解压缩数据

我正在尝试使用下面的代码来解压缩base64解码的缓冲区对象,但callback函数没有得到执行。 有人能告诉我我在这里失踪吗?

function (event, context) { event.Records.forEach(function (record) { // Kinesis data is base64 encoded so decode here var payload = new Buffer(record.kinesis.data, 'base64'); zlib.gunzip(payload, function (err, data) { console.log("new data2"); if (!err) { console.log("new data3"); console.log(data); } else { console.log("new data4"); console.log(err, err.stack); } }); }); context.done(); }; 

context.done()调用移动到您的callback中,以便Lambda函数不会提前终止。 喜欢这个:

 function (event, context) { event.Records.forEach(function (record) { // Kinesis data is base64 encoded so decode here var payload = new Buffer(record.kinesis.data, 'base64'); zlib.gunzip(payload, function (err, data) { console.log("new data2"); if (!err) { console.log("new data3"); console.log(data); } else { console.log("new data4"); console.log(err, err.stack); } context.done(); }); }); };