diff options
| author | Ryan Johnson <rjohnson@mozilla.com> | 2021-04-29 16:16:42 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-29 16:16:42 -0700 |
| commit | 95aca4b4d8fa62815d4bd412fff1a364f842814a (patch) | |
| tree | 5e57661720fe9058d5c7db637e764800b50f9060 /files/uk/web/javascript/reference/operators/await/index.html | |
| parent | ee3b1c87e3c8e72ca130943eed260ad642246581 (diff) | |
| download | translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.gz translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.bz2 translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.zip | |
remove retired locales (#699)
Diffstat (limited to 'files/uk/web/javascript/reference/operators/await/index.html')
| -rw-r--r-- | files/uk/web/javascript/reference/operators/await/index.html | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/files/uk/web/javascript/reference/operators/await/index.html b/files/uk/web/javascript/reference/operators/await/index.html deleted file mode 100644 index ed8041347d..0000000000 --- a/files/uk/web/javascript/reference/operators/await/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: await -slug: Web/JavaScript/Reference/Operators/await -tags: - - JavaScript - - Оператор - - Функція -translation_of: Web/JavaScript/Reference/Operators/await ---- -<div>{{jsSidebar("Operators")}}</div> - -<p>Оператор <code>await</code> використовується для очікування на {{jsxref("Promise","проміс")}}. Він може використовуватись лише всередині {{jsxref("Statements/async_function", "асинхронної функції")}}.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox">[<em>rv</em>] = await <em>expression</em>;</pre> - -<dl> - <dt><code>expression</code></dt> - <dd>{{jsxref("Promise","Проміс")}} чи будь-яке інше значення, якого треба дочекатись.</dd> - <dt><code>rv</code></dt> - <dd> - <p>Повертає значення виконаного проміса, або саме значення, якщо це не об'єкт <code>Promise</code>.</p> - </dd> -</dl> - -<h2 id="Опис">Опис</h2> - -<p>Вираз <code>await</code> спричиняє призупинення виконання асинхронної функції до встановлення об'єкта <code>Promise</code> (проміс) (тобто, до його вирішення або відхилення), а також відновлює виконання асинхронної функції після його завершення. Після відновлення, значенням виразу <code>await</code> є значення виконаного проміса.</p> - -<p>Якщо проміс відхилено, вираз <code>await</code> викидає значення відхилення.</p> - -<p>Якщо значення <em>виразу</em>, що стоїть після оператора <code>await</code>, не є об'єктом <code>Promise</code>, воно перетворюється на <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve">вирішений проміс</a>.</p> - -<p>Оператор <code>await</code> може розбивати хід виконання, дозволяючи коду, що викликав функцію з <code>await</code>, відновити виконання ще до того, як буде продовжене відкладене виконання функції з <code>await</code>. Після того, як <code>await</code> відкладає продовження своєї функції, якщо це перший оператор <code>await</code>, що виконується функцією, негайне виконання також продовжується поверненням у код, що викликав функцію, проміса у стані очікування для завершення виконання функції з <code>await</code> та для відновлення виконання коду, що її викликав.</p> - -<h2 id="Приклади">Приклади</h2> - -<p>Якщо у вираз <code>await</code> був переданий проміс, то вираз чекає на виконання проміса та повертає значення, що є результатом виконання.</p> - -<pre class="brush: js">function resolveAfter2Seconds(x) { - return new Promise(resolve => { - setTimeout(() => { - resolve(x); - }, 2000); - }); -} - -async function f1() { - var x = await resolveAfter2Seconds(10); - console.log(x); // 10 -} - -f1(); -</pre> - -<p>{{jsxref("Global_Objects/Promise/then", "Промісоподібні об'єкти")}} виконуватимуться так само.</p> - -<pre class="brush: js">async function f2() { - const thenable = { - then: function(resolve, _reject) { - resolve('вирішений!') - } - }; - console.log(await thenable); // вирішений! -} - -f2();</pre> - -<p>Якщо значенням є не проміс, він перетворює його на вирішений проміс та чекає на нього.</p> - -<pre class="brush: js">async function f3() { - var y = await 20; - console.log(y); // 20 -} - -f3();</pre> - -<p>Якщо проміс відхилено, викидається значення відхилення.</p> - -<pre class="brush: js">async function f4() { - try { - var z = await Promise.reject(30); - } catch(e) { - console.log(e); // 30 - } -} - -f4();</pre> - -<p>Обробити відхилений проміс без блока try.</p> - -<pre class="brush: js">var response = await promisedFunction().catch((err) => { console.log(err); }); -// якщо проміс відхилено, значенням response буде undefined -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-async-function-definitions', 'async functions')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> - - -<p>{{Compat("javascript.operators.await")}}</p> -</div> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Statements/async_function", "async function")}}</li> - <li>{{jsxref("Operators/async_function", "вираз async function")}}</li> - <li>Об'єкт {{jsxref("AsyncFunction")}}</li> -</ul> |
