Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ';数据';带有两个参数的回调不会将buffer.toString()打印为字符串_Javascript_Node.js - Fatal编程技术网

Javascript ';数据';带有两个参数的回调不会将buffer.toString()打印为字符串

Javascript ';数据';带有两个参数的回调不会将buffer.toString()打印为字符串,javascript,node.js,Javascript,Node.js,使用节点中的process.openStdin()对象获取输入,如果回调函数有两个参数,则输出为缓冲区: var stdin = process.openStdin(); stdin.on('data',function(err,chunk){ if(err) { console.error(err); return; } console.log(""+chunk.toString('ascii')); }); 输入:abcd

使用节点中的process.openStdin()对象获取输入,如果回调函数有两个参数,则输出为缓冲区:

var stdin = process.openStdin();

stdin.on('data',function(err,chunk){
    if(err)
    {
        console.error(err);
        return;
    }
    console.log(""+chunk.toString('ascii'));
});
输入:
abcd

输出:

但是如果回调函数被指定为一个参数,如下所示:

var stdin = process.openStdin();

stdin.on('data',function(chunk){

    // if(err)
    // {
    //  console.error(err);
    //  return;
    // }
    console.log(""+chunk.toString('ascii'));
});
然后输出与输入匹配(即,输出为
abcd
)。这是为什么?

没有
err
参数,它们只有一个缓冲区/字符串参数

如果要侦听错误,则需要单独侦听流上的。

没有
err
参数,它们只有一个缓冲区/字符串参数

如果要侦听错误,则需要单独侦听流上的错误