Observable from Promise
by Suman Kumar
HTML
<div>
<input type="text" id="userInput"/>
<h3 id="head"></h3>
<ul>
<li id="blog"></li>
<li id="pubRepos"></li>
</ul>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.4.2/Rx.min.js"></script>
JavaScript
function getUser(userName){
return $.ajax({
url: 'https://api.github.com/users/'+userName,
dataType: 'jsonp'
}).promise();
}
Rx.Observable.fromEvent($('#userInput'), 'keyup')
.subscribe(e => {
Rx.Observable.fromPromise(getUser(e.target.value))
.subscribe(x => {
$('#head').text(x.data.name);
$('#blog').text(x.data.blog);
$('#pubRepos').text(x.data.public_repos);
});
});