TypeScript RXJS
by black strings
HTML
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/bundles/rxjs.umd.min.js"></script>
CSS
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
TypeScript
// Access RxJS from the global `rxjs` object
const { fromEvent, take, takeUntil, delay, merge, throttleTime, debounceTime, timeout, timer
Subject, Observable } = rxjs;
const btnT0 = () => {
const btn = document.createElement("button");
btn.textContent = "Click Me!";
document.body.appendChild(btn);
// RxJS observable for button clicks
fromEvent(btn, "click").pipe(timeout(5000)).subscribe(() => {
console.log("Button clicked!");
});
}
//btnT0();
const subT0 = () => {
const sub: Subject<void> = new Subject<void>();
const obs: Observable<void> = sub.asObservable();
obs.pipe(timeout(1000)).subscribe({
next: () => console.log('subT0');
});
sub.next();
sub.next();
sub.complete();
sub.next();
}
//subT0();
const obsT0 = () => {
// create obs
const obs: Observable<number> = new Observable<number>((subscriber) => {
const rand = Math.floor(Math.random() * 100 + 1);
subscriber.next(rand);
});
// subscribe to trigger the function
obs.pipe(take(1)).subscribe({
next: (val) => console.log(val)
});
}
//obsT0();