判断对象是否为stream

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

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


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

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