Pesquisa de site

typescript - Status da resposta - Angular 5


Eu criei um simples GET no meu base.service para obter uma resposta se a URL é válida ou não.

/** Check connection */
checkConnection(url: string) {
    return this.http.get(url);
}

e eu gostaria de chamá-lo com uma URL de um dos meus componentes e ler o status da resposta:

checkConnection(protocol, host, port) {
    const url = protocol.toLowerCase().concat("://").concat(host).concat(":").concat(port);
    this.baseService.checkConnection(url)
        .subscribe(
            response => {
                let status = response.status;
            },
            (err) => console.log(err)
        );
}

mas estou recebendo um erro nele

O status da propriedade não existe no tipo 'Objeto'

então ele não é capaz de compilar

Resposta #1

Seu problema diz respeito ao próprio TypeScript, pois a resposta não tem um tipo claro no seu código.

Assumindo que você está usando HttpClient, de acordo com a documentação, o observável get não é claramente tipado (https://angular.io/api/common/http/HttpClient#get).

Uma solução simples seria usar qualquer:

.subscribe(
        (response: any) => {
            let status = response.status;
        },