需要在 NodeJS 中构造 Behavior
Require construct Behaviour in NodeJS
我正在学习 node js,我在 sterams 模块。
我有以下查询 - 这两个语句之间有什么区别。
const {Readable} = require("stream")
and
const Readable = require("stream")
下面的代码片段有效。意味着数据由 Read Stream 发出并且流的结尾也被引发。
但是当 const {Readable}
转换为 const Readable
时,它停止工作
任何人都可以帮助解释为什么会出现这种行为吗?
const {Readable} = require("stream"); // changing const Readable = require("stream") doesn't work
const createReadStream = () => {
const data = ["one","two","three"];
return new Readable({
read(){
if (data.length === 0) {
console.log('data ended');
this.push(null);
} else{
console.log('reading data');
this.push(data.shift());
}
}
});
}
这两个:
const {Readable} = require("stream");
const Readable = require("stream");
不一样,第二个显然不行。第二个将整个模块句柄分配给 Readable
,而第一个将模块中的 .Readable
属性 分配给变量 Readable
。也许你想比较的是这两个:
const {Readable} = require("stream");
const Readable = require("stream").Readable;
这两个几乎是等价的。 const {Readable}
语法称为解构,是第二行语法的快捷方式。
请注意,当您一次获取多个属性时,解构语法真正显示出它的优势:
const {Readable, Writable, Transform, pipeline} = require("stream");
因为这在一行代码中声明并初始化了多个变量。
我正在学习 node js,我在 sterams 模块。
我有以下查询 - 这两个语句之间有什么区别。
const {Readable} = require("stream")
and
const Readable = require("stream")
下面的代码片段有效。意味着数据由 Read Stream 发出并且流的结尾也被引发。
但是当 const {Readable}
转换为 const Readable
时,它停止工作
任何人都可以帮助解释为什么会出现这种行为吗?
const {Readable} = require("stream"); // changing const Readable = require("stream") doesn't work
const createReadStream = () => {
const data = ["one","two","three"];
return new Readable({
read(){
if (data.length === 0) {
console.log('data ended');
this.push(null);
} else{
console.log('reading data');
this.push(data.shift());
}
}
});
}
这两个:
const {Readable} = require("stream");
const Readable = require("stream");
不一样,第二个显然不行。第二个将整个模块句柄分配给 Readable
,而第一个将模块中的 .Readable
属性 分配给变量 Readable
。也许你想比较的是这两个:
const {Readable} = require("stream");
const Readable = require("stream").Readable;
这两个几乎是等价的。 const {Readable}
语法称为解构,是第二行语法的快捷方式。
请注意,当您一次获取多个属性时,解构语法真正显示出它的优势:
const {Readable, Writable, Transform, pipeline} = require("stream");
因为这在一行代码中声明并初始化了多个变量。