xxxxxxxxxx
1. Better practise is to use Observable:
import { catchError } from 'rxjs/operators';
import { throwError } from 'rxjs';
bbb() {
return this.http.get(this.url)
.pipe(
catchError(err => {
console.log('err', err);
return throwError('Something bad happened; please try again later.');
});
}
2. And, then simply just subscribe to bbb:
import { Subscription } from 'rxjs';
testSubscription: Subscription;
ngAfterContentInit() {
this.testSubscription = this.bbb()
.subscribe(son => {
console.log('son', son); // here you get the result
});
}
3. Don't forget to unsubscribe:
ngOnDestroy() {
this.testSubscription.unsubscribe();
}
xxxxxxxxxx
ngOnInit() {
this.obs.subscribe(
val => { console.log(val) }, //next callback
error => { console.log("error") }, //error callback
() => { console.log("Completed") } //complete callback
)
}
xxxxxxxxxx
<h3> {{(post | async)?.title}} </h3>
//OR this for multiple properties
<ng-container *ngIf="( post$ | async ) as post">
<h3> {{ post.title }} </h3>
<h3> {{ post.description }} </h3>
</ng-container>
xxxxxxxxxx
//Put an object in a observable
let myObj = {name: "Maria", age: 23};
this.myObs$ = of(myObj);
xxxxxxxxxx
<!--.html file- use '|async' pipe -->
<ul class="" scope="row" *ngFor="let aboutus of this.pageData |async " >
<li>{{aboutus.key}} {{aboutus.data.details}} </li>
</ul>
xxxxxxxxxx
import {Observable} from 'rxjs';
const foo = new Observable (subscriber => {
subscriber.next (42);
subscriber.next (100);
});
foo.subscriber(x => {
console.log(x);
});
xxxxxxxxxx
Observable in Angular is a feature that provides support
for delivering messages between different parts of your single-page application.
This feature is frequently used in Angular because it is responsible
for handling multiple values, asynchronous programming in Javascript,
and also event handling processes.