Вот пример, если кто-то должен сделать это с клиента, один из вариантов использования может быть, если вы ДОЛЖНЫ знать, находится ли клиент в сети или нет, например, в приложении Ionic.
Смотрите полный рабочий пример в this.stackblitz
import { HttpClient } from "@angular/common/http";
import { first } from "rxjs/operators";
import { Subscription } from 'rxjs';
...
private source = interval(3000);
...
this.source.subscribe(() => {
this._http.get('https://www.google.com', { observe: 'response' })
.pipe(first())
.subscribe(resp => {
if (resp.status === 200 ) {
console.log(true)
} else {
console.log(false)
}
}, err => console.log(err));
});
first () важно принимать только первое значение, так как интервал будетсоздайте новый запрос, чтобы избежать утечек памяти.
{наблюдать: 'ответ'} - это то, как мы говорим httpClient возвращать полный объект http вместо одного тела, таким образом мыМожет получить код состояния.