我试图将一些从我的流中读取的数据块推送到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);
}