Как отключить ведение журнала ошибок в Promise reject? - PullRequest
0 голосов
/ 24 апреля 2020

Я работаю с HttpClient и обещаниями. Я использовал httpclient.get для получения данных из бэкэнда, который прекрасно работает, но у меня проблема с ошибками, которые я получаю. На самом деле я нуждаюсь в ошибках для дальнейшей проработки, поэтому я перезапускаю их, но я не хочу, чтобы ответ регистрировался как журнал erorr.

return new Promise<any>((resolve, reject) => {
            this.httpClient.get(url, {"some parametres"}).subscribe(
                response => {
                    resolve(response.body);
                },
                error => {
                    reject(error);
                }
            )
        });

Итак, как вы можете видеть, я просто хочу, чтобы данные об ошибках были пересылаются. Все в этом сценарии работает нормально. Единственная проблема заключается в том, что на моей странице html консоль получает сообщение об ошибке из-за отклонения следующей формы:

 Error: Uncaught (in promise): HttpErrorResponse: {"some error message"}
    {"some Traceback"}

Существует ли способ обработки ошибок или отключения ведения журнала, так что я не получить все журналы ошибок?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Я попробую это в понедельник, но я не думаю, что это решит мою проблему. Я уже использую оценку через то и поймать. функция, возвращающая обещание, называется callHttpGet

this.callHttPGet(identifier)
                    .then((data) => {
                        is doing something
                    })
                    .catch((error) => {
                        is doing sometinh
                    });

, но, тем не менее, у меня, конечно, есть регистрация ошибок, потому что нет правильной обработки ошибок

0 голосов
/ 24 апреля 2020

Может быть так:

function myPromise(parms) { //create a function who return a Promise
    return new Promise<any>((resolve, reject) => {
                this.httpClient.get(url, {"some parametres"}).subscribe(
                    response => {
                        resolve(response.body);
                    },
                    error => {
                        reject(error);
                    }
                )
            });
    }

    myPromise(args) //then, call that function and use "then" and "catch"
       .then((success)=> {
         console.log(success); //when success 
       })
       .catch((error) => {
         console.log(error) //when error
       });
...