Skip to content

Instantly share code, notes, and snippets.

@dpalita
Created February 4, 2018 13:45
Show Gist options
  • Save dpalita/de00238bb9060da684b473006bfcc13a to your computer and use it in GitHub Desktop.
Save dpalita/de00238bb9060da684b473006bfcc13a to your computer and use it in GitHub Desktop.
const bitcoinQuotePromise = fetchQuoteAsPromise('btc') // la requête est émise ici
bitcoinQuotePromise.then(news => buy())
bitcoinQuotePromise.then(news => tweet())
// une seule requête http a été émise
const bitcoinQuoteObservable = fetchQuoteAsObservable('btc') // rien
bitcoinQuoteObservable.subscribe(news => buy()) // la requête est émise ici
bitcoinQuoteObservable.subscribe(news => tweet()) // une autre requête est émise ici
// deux requêtes ont été émises
const bitcoinQuoteQharedObservable = fetchQuoteAsObservable('btc')
.share() // toujours rien, mais multicast
bitcoinQuoteQharedObservable.subscribe(news => buy()) // la requête est émise ici
bitcoinQuoteQharedObservable.subscribe(news => tweet()) // le retour de la première requête est réutilisé là
// une seule requête a été émise
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment