我试图将一些从我的流中读取的数据块推送到Buffer数组中,如下所示:

const chunks = [];
readableStream.on('data', chunks.push);


但是,chunks为空。

以下代码很好用,但我想找出两者之间的区别:

const chunks = [];
readableStream.on('data', (chunk) => chunks.push(chunk));


顺便说一句,我正在使用Node 6.2.2。谢谢

编辑:我意识到第一行应该有一些上下文问题,但是欢迎您进行解释!此外,对此是否有任何建议/良好做法?

最佳答案

在这一行:

readableStream.on('data', (chunk) => chunks.push(chunk));


它使用callback函数,该函数使用chunk方法将每个项目(added)和chunks放入push数组中。

该方法等效于:

const chunks = [];
readableStream.on('data',callback);
function callback(chunk){
     chunks.push(chunk);
}

10-08 07:37