Home Manual Reference Source Test Repository

es6/operator/publish.js

import { Subject } from '../Subject';
import { multicast } from './multicast';
/* tslint:enable:max-line-length */
/**
 * 返回 ConnectableObservable,它是 Observable 的变种,它会一直等待,直到 connnect 方法被调用才会开始把值发送给那些订阅它的观察者。
 *
 * <img src="./img/publish.png" width="100%">
 *
 * @param {Function} [selector] - 可选的选择器函数,可以根据需要多次使用以多播源序列,而不会导致源序列
 * 生成多个 subscriptions 。给定源的订阅者会从订阅开始的一刻起,接收源的所有通知。
 * @return ConnectableObservable,一旦连接,源 Observable 便会向它的观察者发出项。
 * @method publish
 * @owner Observable
 */
export function publish(selector) {
    return selector ? multicast.call(this, () => new Subject(), selector) :
        multicast.call(this, new Subject());
}
//# sourceMappingURL=publish.js.map