本文整理匯總了TypeScript中kefir.merge函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript merge函數的具體用法?TypeScript merge怎麽用?TypeScript merge使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了merge函數的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1:
const delta2 = sinon.spy(action$ =>
Kefir.merge([
action$
.thru(ofType('FIRST_REQUEST'))
.map(() => ({ type: 'FIRST_RESPONSE' })),
action$
.thru(ofType('SECOND_REQUEST'))
.map(() => ({ type: 'SECOND_RESPONSE' }))
])
示例2: new
return store => {
const action$: Stream<A, never> = new (Kefir as any).Stream().setName(
'action$'
);
const state$: Property<S, never> = new (Kefir as any).Stream()
.toProperty(store.getState)
.setName('state$');
let emitting = false;
let queue: A[] = [];
(store as any).subscription = Kefir.merge(
sources.map(source => source(action$, state$))
).observe({
error(err) {
// eslint-disable-next-line no-console
console.error('Error emitted into delta', err);
},
value(value) {
if (emitting) {
queue.push(value);
} else {
store.dispatch(value);
}
}
});
return next => action => {
const result = next(action);
const state = store.getState();
emitting = true;
(state$ as any)._emitValue(state);
(action$ as any)._emitValue(result);
emitting = false;
if (queue.length) {
const run = queue;
queue = [];
for (const action of run) {
store.dispatch(action);
}
}
return result;
};
};
示例3:
let a: Stream<number, void> = Kefir.sequentially(100, [1, 3]);
let b: Stream<number, void> = Kefir.sequentially(100, [2, 4]).delay(40);
let c: Stream<number, void> = Kefir.sequentially(60, [5, 6, 7]);
let observable02: Observable<number, void> = Kefir.combine<number, void, number>([a, b], [c], (a, b, c) => a + b + c);
}
{
let a: Stream<number, void> = Kefir.sequentially(100, [0, 1, 2, 3]);
let b: Stream<number, void> = Kefir.sequentially(160, [4, 5, 6]);
let c: Property<number, void> = Kefir.sequentially(100, [8, 9]).delay(260).toProperty(() => 7);
let observable03: Observable<number, void> = Kefir.zip<number, void, number>([a, b, c]);
}
{
let a: Stream<number, void> = Kefir.sequentially(100, [0, 1, 2]);
let b: Stream<number, void> = Kefir.sequentially(100, [0, 1, 2]).delay(30);
let c: Stream<number, void> = Kefir.sequentially(100, [0, 1, 2]).delay(60);
let abc: Observable<number, void> = Kefir.merge<number, void>([a, b, c]);
}
{
let a: Stream<number, void> = Kefir.sequentially(100, [0, 1, 2]);
let b: Stream<number, void> = Kefir.sequentially(100, [3, 4, 5]);
let abc: Observable<number, void> = Kefir.concat<number, void>([a, b]);
}
{
let a: Stream<number, void> = Kefir.sequentially(100, [0, 1, 2]);
let b: Stream<number, void> = Kefir.sequentially(100, [0, 1, 2]).delay(30);
let c: Observable<number, void> = Kefir.sequentially(100, [0, 1, 2]).delay(60);
let pool: ObservablePool<number, void> = Kefir.pool<number, void>();
pool.plug(a);
pool.plug(b);
pool.plug(c);
}