我试图在节点中找出流并在the stream handbook
中使用一些示例我正在尝试可读流的_read方法。它说,它接受一个参数,即消费者想要读取的字节数。
我在这里有两个问题。
这是我的代码。
var Readable = require('stream').Readable;
var rs = Readable();
var c = 97;
rs._read = function (5) {
rs.push(String.fromCharCode(c++));
if (c > 'z'.charCodeAt(0)) {
rs.push('\n');
rs.push(null);
}
};
setTimeout(function () {
rs.pipe(process.stdout);
}, 2000);
这就是错误
/Users/nikhilkuria/Dev/git/node_demo/streams/streamRead.js:5
rs._read = function (5) {
^
SyntaxError: Unexpected number
at Object.exports.runInThisContext (vm.js:76:16)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
答案 0 :(得分:0)
function (5) {
不是创建函数的有效语法。您需要传入一个变量名称,而不是数字,如下所示:function (a) {
您看到的错误是由于JavaScript不允许以仅以数字开头或仅由数字组成的变量名称。