有没有一种方法可以检测对象是否是流类的实例?例如RxJS或Bacon.js流。

我正在寻找的是像

function isStream(obj) {
   // if obj is RxJS or Bacon Stream return true, otherwise false
}

最可靠的方法是什么?

最佳答案

ObservableEventStreamProperty对象都继承的基类。因此,如果您想检测任何培根,可以使用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

http://jsbin.com/qugihobalu/2/edit

10-06 15:15