2
respostas

Erro no console do VSCODE

Tenho este erro no VSCODE.

ERROR in src/app/paginas/arquivo/arquivo-form/arquivo-form.component.ts(93,20): error TS2339: Property 'total' does not exist on type 'HttpEvent<{}>'.

Property 'total' does not exist on type 'HttpSentEvent'.
src/app/paginas/arquivo/arquivo-form/arquivo-form.component.ts(93,34): error TS2339: Property 'loaded' does not exist on type 'HttpEvent<{}>'.

Property 'loaded' does not exist on type 'HttpSentEvent'.
src/app/paginas/arquivo/arquivo-form/arquivo-form.component.ts(99,38): error TS2339: Property 'partialText' does not exist on type 'HttpEvent<{}>'.

Property 'partialText' does not exist on type 'HttpProgressEvent'.

Mas não ocorre erro no console ao ser executado.

  this.arquivoService.salvarArquivo(this.currentFileUpload, this.arquivoSalvar).map(res => res).
              subscribe(event => {
                console.log(event);
                var tipoRetorno : boolean = false;
                if (event.type === HttpEventType.UploadProgress) {
                  this.progress.percentage = Math.round(100 * event.loaded / event.total);
                } else if (event instanceof HttpResponse) {
                  console.log('File is completely uploaded!');
                }
                if (event.type == 1){
                  if(event.total > event.loaded){
                    this.openSnackBar("Tamanho do Arquivo maior que o permitido !", tipoRetorno);
                  }
                } else {
                  if (event.type == 3){
                    console.log(event);
                    var array = String(event.partialText).split(",");
                    var mensagem = String(array[4].replace('"', '').replace('"', '').replace('"', '').replace('"', '')).split(":");
                    if(mensagem[1] != "ERRO"){
                      tipoRetorno = true;
                    }
                    var mensagem = String(array[0].replace('"', '').replace('"', '').replace('"', '').replace('"', '')).split(":");
                    this.openSnackBar(mensagem[1], tipoRetorno);
                    if(mensagem[1] != "ERRO"){
                      this.voltar();
                    }
                  }
                }
              }
            )

Debugando pelo console do navegador, ele retorna estas variáveis, por isto construi o código. Como posso resolver para que o VSCODE não mostre o erro ?

2 respostas

Olá Guilherme, tudo bom? Acredito que essa propriedade total do HttpSentEvent, não esteja mapeada em algum objeto do seu projeto e o VS Code se perde ao tentar fazer o check dos arquivos. Você poderia criar uma classe que retorna esse HttpSentEvent com um atributo total para corrigir.

Tudo bem Mário.

Até vi isto, mas juro que estou meio perdido.

Pois não sei aonde e nem como . Se extend de algo.

por isto não fiz nada de alteração.