Skip to content

Instantly share code, notes, and snippets.

@mikeyoon
Last active April 5, 2018 00:26
Show Gist options
  • Save mikeyoon/ed90f74a38383e6120dfa925fe3546a5 to your computer and use it in GitHub Desktop.
Save mikeyoon/ed90f74a38383e6120dfa925fe3546a5 to your computer and use it in GitHub Desktop.
rxjs basic example // source http://jsbin.com/nirovox/edit?html,js,output
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="Simple rxjs example">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.5.8/Rx.min.js"></script>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
</head>
<body>
<button onclick="sub()">Subscribe</button>
<button onclick="delayed()">Subscribe with Delay</button>
<ul id="output">
</ul>
<script id="jsbin-javascript">
let obs = Rx.Observable.from([1,2,3,4,5]);
let $output = $('#output');
function sub() {
$output.html('');
obs.subscribe(
res => $output.append('<li>' + res + '</li>'),
err => $output.append('<li>' + err + '</li>'),
() => $output.append('<li>Closed</li>')
);
}
function delayed() {
$output.html('');
let delay = Rx.Observable.empty().delay(1000);
obs.concatMap(n => Rx.Observable.of(n).concat(delay))
.subscribe(
res => $output.append('<li>' + res + '</li>'),
err => $output.append('<li>' + err + '</li>'),
() => $output.append('<li>Closed</li>')
);
}
</script>
<script id="jsbin-source-javascript" type="text/javascript">let obs = Rx.Observable.from([1,2,3,4,5]);
let $output = $('#output');
function sub() {
$output.html('');
obs.subscribe(
res => $output.append('<li>' + res + '</li>'),
err => $output.append('<li>' + err + '</li>'),
() => $output.append('<li>Closed</li>')
);
}
function delayed() {
$output.html('');
let delay = Rx.Observable.empty().delay(1000);
obs.concatMap(n => Rx.Observable.of(n).concat(delay))
.subscribe(
res => $output.append('<li>' + res + '</li>'),
err => $output.append('<li>' + err + '</li>'),
() => $output.append('<li>Closed</li>')
);
}</script></body>
</html>
let obs = Rx.Observable.from([1,2,3,4,5]);
let $output = $('#output');
function sub() {
$output.html('');
obs.subscribe(
res => $output.append('<li>' + res + '</li>'),
err => $output.append('<li>' + err + '</li>'),
() => $output.append('<li>Closed</li>')
);
}
function delayed() {
$output.html('');
let delay = Rx.Observable.empty().delay(1000);
obs.concatMap(n => Rx.Observable.of(n).concat(delay))
.subscribe(
res => $output.append('<li>' + res + '</li>'),
err => $output.append('<li>' + err + '</li>'),
() => $output.append('<li>Closed</li>')
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment