diff options
Diffstat (limited to 'files/uk/web/api/window/unhandledrejection_event/index.html')
-rw-r--r-- | files/uk/web/api/window/unhandledrejection_event/index.html | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/files/uk/web/api/window/unhandledrejection_event/index.html b/files/uk/web/api/window/unhandledrejection_event/index.html deleted file mode 100644 index 8f621c5ea9..0000000000 --- a/files/uk/web/api/window/unhandledrejection_event/index.html +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: 'Window: подія unhandledrejection' -slug: Web/API/Window/unhandledrejection_event -tags: - - API - - Event - - HTML DOM - - JavaScript - - Promise - - Window - - Worker - - unhandledrejection - - Проміс - - відхилення - - подія -translation_of: Web/API/Window/unhandledrejection_event ---- -<div>{{APIRef("HTML DOM")}}</div> - -<p><span class="seoSummary">Подія <strong><code>unhandledrejection</code></strong> посилається у глобальну область видимості скрипта, коли об'єкт JavaScript {{jsxref("Promise")}}, що не має обробника відхилення, відхиляється; зазвичай, це {{domxref("window")}}, але також може бути {{domxref("Worker")}}.</span> Це корисно для відлагодження та для надання резервної обробки помилок у неочікуваних ситуаціях.</p> - -<table class="properties"> - <tbody> - <tr> - <th scope="row">Спливає</th> - <td>Ні</td> - </tr> - <tr> - <th scope="row">Скасовується</th> - <td>Так</td> - </tr> - <tr> - <th scope="row">Інтерфейс</th> - <td>{{domxref("PromiseRejectionEvent")}}</td> - </tr> - <tr> - <th scope="row">Обробник подій</th> - <td>{{domxref("WindowEventHandlers.onunhandledrejection", "onunhandledrejection")}}</td> - </tr> - </tbody> -</table> - -<h2 id="Примітки_щодо_використання">Примітки щодо використання</h2> - -<p>Дозвіл події <code>unhandledrejection</code> спливати зрештою призведе до виводу повідомлення помилки у консолі. Ви можете запобігти цьому, викликавши {{domxref("Event.preventDefault", "preventDefault()")}} на інтерфейсі {{domxref("PromiseRejectionEvent")}}; дивіться приклад {{anch("Запобігання обробці за замовчуванням")}} нижче.</p> - -<h2 id="Приклади">Приклади</h2> - -<p>Тут ми маємо кілька прикладів, які демонструють, як ви можете скористатись подією <code>unhandledrejection</code>. Подія містить деяку корисну інформацію:</p> - -<dl> - <dt><code>promise</code></dt> - <dd>Власне, {{jsxref("Promise","проміс")}}, який був відхилений, не маючи обробника, який зреагував би на відхилення.</dd> - <dt><code>reason</code></dt> - <dd>Причина, яка була б передана у обробник відхилення, якби він існував. Дивіться більше інформації у {{jsxref("Promise.catch", "catch()")}}.</dd> -</dl> - -<h3 id="Базове_логування_помилки">Базове логування помилки</h3> - -<p>Цей приклад просто логує інформацію щодо необробленого відхилення проміса у консоль.</p> - -<pre class="brush:js;">window.addEventListener("unhandledrejection", event => { - console.warn(`НЕОБРОБЛЕНЕ ВІДХИЛЕННЯ ПРОМІСА: ${event.reason}`); -}); -</pre> - -<p>Ви також можете скористатись обробником подій {{domxref("WindowEventHandlers.onunhandledrejection", "onunhandledrejection")}}, щоб налаштувати прослуховувач подій:</p> - -<pre class="brush: js">window.onunhandledrejection = event => { - console.warn(`НЕОБРОБЛЕНЕ ВІДХИЛЕННЯ ПРОМІСА: ${event.reason}`); -}; -</pre> - -<h3 id="Запобігання_обробці_за_замовчуванням">Запобігання обробці за замовчуванням</h3> - -<p>Багато середовищ (таких як {{Glossary("Node.js")}}) за замовчуванням виводять необроблені відхилення промісів у консоль. Ви можете запобігти цьому, додавши обробник для подій <code>unhandledrejection</code>, що — на додачу до будь-яких інших задач, які ви бажаєте виконати — викликає {{domxref("Event.preventDefault()", "preventDefault()")}}, щоб скасувати подію, запобігаючи її спливанню та обробці кодом логування під час виконання. Це працює, тому що <code>unhandledrejection</code> скасовується.</p> - -<pre class="brush:js;">window.addEventListener('unhandledrejection', function (event) { - // ...тут ваш код, який обробляє необроблені відхилення... - - // Запобігти обробці за замовчуванням (наприклад, виводу - // помилки у консоль) - - event.preventDefault(); -}); -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - <th scope="col">Статус</th> - <th scope="col">Коментар</th> - </tr> - <tr> - <td>{{SpecName('HTML WHATWG', 'webappapis.html#unhandled-promise-rejections', 'unhandledrejection')}}</td> - <td>{{Spec2('HTML WHATWG')}}</td> - <td>Початкове визначення.</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - - - -<p>{{Compat("api.Window.unhandledrejection_event")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{SectionOnPage("/uk/docs/Web/JavaScript/Guide/Using_promises", "Події відхилення промісів")}}</li> - <li>Обробник подій {{domxref("WindowEventHandlers.onunhandledrejection", "onunhandledrejection")}}<sup><a href="#seealso-footnote-1">1</a></sup></li> - <li>Подія <a href="/uk/docs/Web/API/Window/rejectionhandled_event">rejectionhandled</a></li> - <li>{{jsxref("Promise")}}</li> -</ul> - -<p><a id="seealso-footnote-1" name="seealso-footnote-1">[1]</a> Відповідний обробник подій визначений як властивість у домішці {{domxref("WindowEventHandlers")}}, яка доступна як у інтерфейсі {{domxref("Window")}}, так і в усіх типах інтерфейсів {{domxref("Worker")}}.</p> |