From 99cc7cdc154d32ec16c60da55089359c0c8bd898 Mon Sep 17 00:00:00 2001 From: arturovt Date: Thu, 9 Jan 2020 20:50:44 +0200 Subject: [PATCH] docs: fix non-working example in the `Observables` section (#34705) PR Close #34705 --- .../examples/observables/src/geolocation.ts | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/aio/content/examples/observables/src/geolocation.ts b/aio/content/examples/observables/src/geolocation.ts index 7210a51e1d..841fea556e 100644 --- a/aio/content/examples/observables/src/geolocation.ts +++ b/aio/content/examples/observables/src/geolocation.ts @@ -5,28 +5,39 @@ import { Observable } from 'rxjs'; // Create an Observable that will start listening to geolocation updates // when a consumer subscribes. const locations = new Observable((observer) => { - // Get the next and error callbacks. These will be passed in when - // the consumer subscribes. - const {next, error} = observer; - let watchId; + let watchId: number; // Simple geolocation API check provides values to publish if ('geolocation' in navigator) { - watchId = navigator.geolocation.watchPosition(next, error); + watchId = navigator.geolocation.watchPosition((position: Position) => { + observer.next(position); + }, (error: PositionError) => { + observer.error(error); + }); } else { - error('Geolocation not available'); + observer.error('Geolocation not available'); } // When the consumer unsubscribes, clean up data ready for next subscription. - return {unsubscribe() { navigator.geolocation.clearWatch(watchId); }}; + return { + unsubscribe() { + navigator.geolocation.clearWatch(watchId); + } + }; }); // Call subscribe() to start listening for updates. const locationsSubscription = locations.subscribe({ - next(position) { console.log('Current Position: ', position); }, - error(msg) { console.log('Error Getting Location: ', msg); } + next(position) { + console.log('Current Position: ', position); + }, + error(msg) { + console.log('Error Getting Location: ', msg); + } }); // Stop listening for location after 10 seconds -setTimeout(() => { locationsSubscription.unsubscribe(); }, 10000); +setTimeout(() => { + locationsSubscription.unsubscribe(); +}, 10000); // #enddocregion