import { Observable } from 'rxjs'; //création de l'observable const data$ = new Observable(observer => {      observer.next(1);     observer.next(2);     observer.next(3);     observer.complete();  }); //souscription à l'observable data$.subscribe({   //retourne les valeurs émisent par next     next: value => console.log("Valeur retournée: "+value),     //notification d'erreur     error: err => console.error("Une erreur est survenue: "+err),     //notification de fin d'exécution.     complete: () => console.log('Le traitement est terminé') }).unsubscribe(); // désabonnement à l'observable.	

import { from} from 'rxjs'; import { map } from 'rxjs/operators';  //from() crée un observable à partir d'un tableau de nombre const source = from([2, 4, 6]); //multiplication de chaque valeur par 5 const example = source.pipe(map(val => { val*5 })) const subscribe = example.subscribe(val => console.log(val)); //retourne: 10,20,30	

import { from } from 'rxjs'; import { map } from 'rxjs/operators';  /*retourne ({ nom: 'Armelle', age: 33 }, { nom: 'Lionel', age: 32 },{ nom: 'Eric', age: 29 });*/ const ListeNomAge = from([   { nom: 'Armelle', age: 33 },   { nom: 'Lionel', age: 32 },   { nom: 'Eric', age: 29 } ]); //récupère le nom de chaque personne const example = ListeNomAge.pipe(map(({ nom }) => nom)); const subscribe = example.subscribe(valeur => console.log(valeur)); //retourne: "Armelle","Lionel","Eric"	

import { from, of } from 'rxjs'; import { map, catchError } from 'rxjs/operators';  const source = from([3, 6, 8]); //vérifie les nombres modulo de 3 const example = source.pipe(map(val => {   if (val % 3 == 0) {     throw"val + ' n'est pas divisible par 3";   }   return val; }), //of() retourne un observable à partir de plusieurs sources de données (string, tableau, objet, ...) catchError(err => of('10', '12', '14'))).subscribe(x => console.log(x)); //retourne: 3,6 => l'erreur se  produit et retourne 10,12,14	

import { from, interval, zip } from 'rxjs'; import { map , mergeMap} from 'rxjs/operators';  /*zip() permet de combiner des observables pour créer  un observable qui retourne des valeurs calculées dans l'ordre des observables d'entrée. */  /*interval() crée un observable qui émet des nombres  séquentiel à un intervalle de temps donné. */  const getCurrentCity = () => {     return zip(         from(['Strasbourg', 'Paris', 'Lyon']),         interval(1000)     )         .pipe(map(([city]) => city)); };  const getTemperature = city => {     return interval(400)         .pipe(map(() => 100 / city.length)); }; const currentCityTemperature$ = getCurrentCity()     .pipe(mergeMap(city => getTemperature(city)));  currentCityTemperature$     .subscribe(température => console.log(température)); //retourne // à 1000ms, nous sommes à Strasbourg. // 10 # à 1400ms, température à Strasbourg. // 10 # à 1800ms, température à Strasbourg. // # à 2000ms, nous sommes à Paris. // 10 # à 2200ms, température à Strasbourg. // 20 # à 2400ms, température à Paris. // 10 # à 2600ms, température à Strasbourg. // 20 # à 2800ms, température à Paris. // # à 3000ms, nous sommes à Lyon. // 10 # à 3000ms, température à Strasbourg. // 20 # à 3200ms, température à Paris. // 25 # à 3400ms, température à Lyon. // 10 # à 3400ms, température à Strasbourg. // 20 # à 3600ms, température à Paris. // 25 # à 3800ms, température à Lyon. // 10 # à 3800ms, température à Strasbourg. // 20 # à 4000ms, température à Paris. // 25 # à 4200ms, température à Lyon. // 10 # à 4200ms, température à Strasbourg. // ...	

import { from, interval, zip } from 'rxjs'; import { map , switchMap} from 'rxjs/operators';  const getCurrentCity = () => {     return zip(         from(['Strasbourg', 'Paris', 'Lyon']),         interval(1000)     )         .pipe(map(([city]) => city)); };  const getTemperature = city => {     return interval(400)         .pipe(map(() => 100 / city.length)); }; const currentCityTemperature$ = getCurrentCity()     .pipe(switchMap(city => getTemperature(city))); ​ currentCityTemperature$     .subscribe(temperature => console.log(temperature));      //retourne //à 1000ms, nous sommes à Strasbourg. //10 # à 1400ms, température à Strasbourg. //10 # à 1800ms, température à Strasbourg. //# à 2000ms, nous sommes à Paris. //20 # à 2400ms, température à Paris. //20 # à 2800ms, température à Paris. //# à 3000ms, nous sommes à Lyon. //25 # à 3400ms, température à Lyon. //25 # à 3800ms, température à Lyon. //25 # à 4200ms, température à Lyon.