Рубрики
Без рубрики

ReportingObserver API: новый взгляд на ваш код

Новый ReportingIbserver API собирается помочь вам с устаревшим API на вашем сайте, а также с отпуском вы знаете, когда ваш код запущен в вмешательстве браузера. ReportingIbserver является частью …

Автор оригинала: Robert Wozniak.

Новый ReportingIbserver API собирается помочь вам с устаревшим API на вашем сайте, а также с отпуском вы знаете, когда ваш код запущен в вмешательстве браузера.

ReportingIbserver является частью более крупных спецификаций: Отчетность API.

1. Какова фактическая цель?

Можете ли вы представить себе важный проект, который прошел жить пару дней назад, и многие клиенты начали регистрироваться на своем новом сайте, и правда в том, что вновь созданный проект должен быть стабильным, чтобы сохранить вашу финансовую сторону Бизнес течет Отказ Теперь давайте доберемся до такой степени, что ваши клиенты сталкиваются с неожиданным поведением сайта из-за случайных ошибок, и вы не знаете об этом. Вот почему у нас есть ReportingIbserver API – это позволяет нам отправить свой отчет на Боковая сторона Где мы можем видеть, что происходит на нашем сайте в данный момент, что действительно важно, если у нас есть значительный проект, работающий в прямом эфире.

Человек, который посещает сайт вашего продукта не может быть разработчиком И не знаю, что происходит, пока его столкнутся с неожиданными ошибками. Все проблемы будут отображаться в консоли в качестве журнала консоли, но если вы реализуете следующие API, вещи начнут работать по-разному.

ReportingObserver Образец кода:

const observer = new ReportingObserver((reports, observer) => {
  for (const report of reports) {
    console.log(report.type, report.url, report.body);
  }
}, { buffered: true });

observer.observe();

2. Основная структура API

У нас есть другие API, которые бросают ошибки, как например, Window.OneRror. Дело в том, что Window.OneRror не пожарит предупреждения за все! Следующие API будут пожарованы ошибки времени выполнения, такие как JS Исключения и синтаксические ошибки, вызванные выполненным кодом. Используя ReportingIbserver, у вас есть свобода настроить уведомления, связанные с предупреждениями амортизации и вмешательства.

API не работает как нормальный «наблюдатель». Во-первых, вам необходимо предоставить обратный вызов, а затем вы получите отчет как информацию. Обратный вызов получает информацию, которая представляет собой список проблем, вызванных на странице.

const observer = new ReportingObserver((reports, observer) => {
  for (const report of reports) {
    // → report.id === 'XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload'
    // → report.type === 'deprecation'
    // → report.url === 'https://reporting-observer-api-demo.glitch.me'
    // → report.body.message === 'Synchronous XMLHttpRequest is deprecated...'
  }
}});

observer.observe();

Вы получаете пару приятных функций для использования:

1. Отфильтрованные отчеты Вы можете отфильтровать свои отчеты для наблюдения только к конкретному типу.

const observer = new ReportingObserver((reports, observer) => {
  ...
}, {types: ['deprecation']});

2. Буферические отчеты Если вы устанавливаете буферизованный свойство в True, вы сможете увидеть отчеты, сгенерированные до создания наблюдателя.

const observer = new ReportingObserver((reports, observer) => {
  ...
}, {types: ['intervention'], buffered: true});

3. Отключить Если вы хотите перестать наблюдать за отчетами, вы можете просто отключить наблюдателя, и это так!

observer.disconnect();

3. Пример использования API

Ниже приведен код пример использования следующих API. Пример показывает, как вы можете отправить отчет на ваш Backeng Server.

const report = new ReportingObserver((reports, observer) => {
   for (const report of reports) {
      const stringifiedReport = JSON.stringify(report.body);
      // Send to the server
      receiveReport(stringifiedReport);
  }
}, { types: ['deprecation'], buffered: true }); 

Резюме

Подводя итоги, ReportingIbserver собирается помочь вам доставить амортизацию и вмешательство предупреждения, сразу же, отправив его в свою реализацию Backenn и проинформировать вас об этом. Важной частью этого является то, что она мониторирует ваш сайт и выпускает 24/7 и сообщает об этом вам. Фантастический.

ReportingBserver API будет отправлен в Chrome 69. Согласно статусу Chrome Platform, нет публичных сигналов от Mozilla и Safari, чтобы получить его в ближайшей функции, но сюрприз, неожиданный край поддерживает идею API и будет доставкой Это в какое-то время.

Чтобы получить еще больше информации о недавно отправленном API, вы можете открыть ниже ссылки: