rxjs mergeMap example

by johnwun

HTML

<!DOCTYPE html>
<html>
<head>
<meta name="description" content="Demo for passing params to results observable">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Passing Params in RXJS</title>
  <script src="https://unpkg.com/[email protected]/bundles/Rx.min.js"></script> 
</head>
<body>
  <div>Passing Params in RXJS</div>
<div>
(see console)
</div>
</body> 
</html>

JavaScript

/// DEMO - how to pass URL params to the response Observable

var Observable = Rx.Observable;

function mockHTTPRequest(url) {
    return Observable.of(`Response from ${url}`)
      .delay(Math.random() * 1000);
}

var urls = ['url-1', 'url-2', 'url-3', 'url-4'];

Observable.from(urls)
  .mergeMap(url => Observable.zip(mockHTTPRequest(url), [url]))
  .subscribe(val => console.log(val));