判断对象是否为 stream

1、node 中的 stream 是抽象概念,它是一个抽象的接口,它不是一个具体的对象实例,它是一组有着相同的接口的对象,可以把它们看作是一个抽象的类,它的实例可以是文件、网络连接、子进程等。

2、判断一个对象是否为 stream,可以通过检查它是否具有 stream 模块提供的接口,来判断是否是 stream。比如,可以通过检查对象是否具有 pipe、on、write 等方法,来判断对象是否是 stream。

12345
function isStream(obj) {
  return obj !== null && typeof obj === 'object' && typeof obj.pipe === 'function';
}
JavaScript

3、上面的代码可以用来判断一个对象是否为 stream,它检查对象是否存在 pipe 方法,如果存在,则说明对象是一个 stream,否则不是 stream。