我很好奇当前从可能不符合现有流创建方法的源创建流的最佳实践(https://github.com/cujojs/most/blob/master/docs/api.md)
使用 Firebase 的示例ref.on('child_added', function(snap){})
:
most.fromEvent('child_added', ref) //ERROR
我不能使用
.fromEvent
...虽然 ref 实现了某种on
,但它似乎不符合 EventEmitter 接口(addEventListener、removeEventListener)
ref.on('child_added', function(snap){ emitter.emit('value', snap) })
most.fromEvent('value', emitter)
手动发出事件,是我目前能想到的最好的......
// https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/create.md
Rx.Observable.create(function(observer){
ref.on('child_added', function(snap){ observer.next(snap) })
})
是否有类似的机制来自定义创建流,例如 la Rx?
我有没有更好的方法?