有没有办法检测对象是否是流类的实例?例如RxJS或Bacon.js流。
我正在寻找的是像
function isStream(obj) {
// if obj is RxJS or Bacon Stream return true, otherwise false
}
最可靠的方法是什么?
答案 0 :(得分:2)
Observable
是EventStream
和Property
个对象继承的基类。因此,如果您想要检测任何培根,可以使用Observable
。
function isStream(v) {
return v instanceof Bacon.Observable
}
function test(v) {
console.log(isStream(v))
}
test(Bacon.constant(1)) // true
test(Bacon.once(1)) // true
test(1) // false
答案 1 :(得分:2)
每个框架中可能有更好的方法,例如本机isStream等价,但检查instanceof是下一个最佳解决方案,适用于培根和rxjs。
const isStream = x => x instanceof Bacon.Observable || x instanceof Rx.Observable;