JSFiddle - React, Tailwind, and code Playground
by amindunited
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.2.2/rxjs.umd.min.js"></script>
JavaScript
/**
* USER
*/
const initUser = {
'name': 'initUserName'
}
const userStore = new rxjs.BehaviorSubject(initUser);
userStore.next({
'name': 'next_1'
});
/**
* COUNTER
*/
const initCounter = {
'count': 0
}
const counterStore = new rxjs.BehaviorSubject(initCounter);
const myStore = new rxjs.BehaviorSubject({
'user': userStore,
'counter': counterStore
});
myStore.subscribe((state) => {
console.log('state', state);
});
console.log('filter', rxjs);
myStore.pipe(rxjs.operators.filter((fil) => {
console.log('fil', fil);
return fil;
})).subscribe((state) => {
console.log('state', state);
});
const delayFn = (fn, delay) => {
setTimeout(fn, delay);
}
delayFn(() => {
console.log('in delay', myStore);
myStore.value.user.next({ 'name': 'delay_1'});
/**
myStore.next({
'user': myStore.user.next({ 'name': 'Goober'}),
'counter': myStore.value.counter
});
*/
}, 1000);
delayFn(() => {
}, 2000);