Как создать Observable, с которым я могу просто напрямую передать события, например, с помощью Bacon.js's Bus?Что такое эквивалент RxJS шины Bacon.js?
3
A
ответ
11
Эквивалент в RxJS называется Subject. Это и Наблюдатель, и Наблюдаемый. Таким образом, чтобы передать события, вы используете интерфейс Observer: методы onNext, onError и onCompleted. Затем вы можете подписаться на него, сопоставить карту, почтовый индекс, фильтровать его, как и любое Наблюдаемое. Вот пример из официальных документы:
var subject = new Rx.Subject();
var subscription = subject.subscribe(
function (x) { console.log('onNext: ' + x); },
function (e) { console.log('onError: ' + e.message); },
function() { console.log('onCompleted'); });
subject.onNext(1);
// => onNext: 1
subject.onNext(2);
// => onNext: 2
subject.onCompleted();
// => onCompleted
subscription.dispose();
Вы можете проверить Субъект руководство по началу работы here, и Subject API Docs here.
+0
В RxJS v5 метод «onNext» объекта теперь просто «следующий» и т. д. – AgentME
Пожалуйста, старайтесь избегать использования Bus (и Subject in Rx). http://baconjs.blogspot.fi/2014/12/bus-of-doom.html –