带有两个参数的“data”回调不会将buffer.toString()打印为字符串
'data' callback with two arguments does not print buffer.toString() as string
在节点中使用process.openStdin()对象来获取输入,如果回调函数有两个参数,则输出是一个缓冲区:
var stdin = process.openStdin();
stdin.on('data',function(err,chunk){
if(err)
{
console.error(err);
return;
}
console.log(""+chunk.toString('ascii'));
});
输入:abcd
输出:<Buffer 61 62 63 64 0a>
但是,如果回调函数被赋予一个参数,如下所示:
var stdin = process.openStdin();
stdin.on('data',function(chunk){
// if(err)
// {
// console.error(err);
// return;
// }
console.log(""+chunk.toString('ascii'));
});
然后输出与输入匹配(即输出abcd
)。这是为什么呢?
data
事件没有err
参数,它们只有一个缓冲区/字符串参数。
错误,则需要单独侦听流中的error
事件。
相关文章:
- Node.js's Buffer.writeFloatBE in Javascript
- toBoolean方法类似于toString
- 为什么.toString的范围限制为36
- 如何使用 num.toString 和 str.split 查找整数的最后一位数字
- 将toString方法暴露给nashorn中的js对象
- 为什么控制台没有't使用输入的对象's的`toString`方法
- Javascript Date.toString() formatting?
- 需要帮助编写在不使用toString的情况下将十进制转换为二进制的代码
- 类型错误:无法读取未定义的属性“toString” - 为什么
- 如何在javascript中记录对象时强制使用toString
- 为什么可以对整数变量调用toString(),而不能对文字数字调用
- AudioBufferSourceNode.buffer deprecated?
- ToString 将 Javascript Object 更改为 Undefined
- JS valueOf and toString
- MongoDB原生:toString和toHexString方法之间有什么区别吗?
- JavaScript:Date 的 toString() 和 toLocaleString() 方法之间的区别
- 带有两个参数的“data”回调不会将buffer.toString()打印为字符串
- 为什么使用' Buffer.concat(body). tostring(); '而不是' Uint8Array/Buf
- 奇怪的Node.js Buffer.toString()行为
- fs.readFile返回Buffer对象,toString将使终端报错