diff options
author | Alexey Pyltsyn <lex61rus@gmail.com> | 2021-03-14 18:26:20 +0300 |
---|---|---|
committer | Alexey Pyltsyn <lex61rus@gmail.com> | 2021-03-15 11:41:42 +0300 |
commit | 08dc1a1e60063705ccefc1eb4ef0a17d1ddf196b (patch) | |
tree | 034e9bd9b9f9484b499acd21edd1b5cdc5090035 /files/ru/web/javascript/guide | |
parent | ecd81e5f73adf6fef6fc0067f50d088a51c32f6a (diff) | |
download | translated-content-08dc1a1e60063705ccefc1eb4ef0a17d1ddf196b.tar.gz translated-content-08dc1a1e60063705ccefc1eb4ef0a17d1ddf196b.tar.bz2 translated-content-08dc1a1e60063705ccefc1eb4ef0a17d1ddf196b.zip |
Fix typos
Diffstat (limited to 'files/ru/web/javascript/guide')
-rw-r--r-- | files/ru/web/javascript/guide/using_promises/index.html | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/files/ru/web/javascript/guide/using_promises/index.html b/files/ru/web/javascript/guide/using_promises/index.html index d104f15d9e..b54c6a936a 100644 --- a/files/ru/web/javascript/guide/using_promises/index.html +++ b/files/ru/web/javascript/guide/using_promises/index.html @@ -15,9 +15,9 @@ original_slug: Web/JavaScript/Guide/Ispolzovanie_promisov <p class="summary">{{jsxref("Promise")}} (промис, англ. "обещание") - это объект, представляющий результат успешного или неудачного завершения асинхронной операции. Так как большинство людей пользуются уже созданными промисами, это руководство начнем с объяснения использования вернувшихся промисов до объяснения принципов создания. </p> -<p>В сущности, промис - это возвращаемый объект, в который вы записываете два коллбэка вместо того, чтобы передать их функции.</p> +<p>В сущности, промис - это возвращаемый объект, в который вы записываете два колбэка вместо того, чтобы передать их функции.</p> -<p>Например, вместо старомодной функции, которая принимает два коллбэка и вызывает один из них в зависимости от успешного или неудачного завершения операции:</p> +<p>Например, вместо старомодной функции, которая принимает два колбэка и вызывает один из них в зависимости от успешного или неудачного завершения операции:</p> <pre class="brush: js line-numbers language-js">function doSomethingOldStyle(successCallback, failureCallback) { console.log("Готово."); @@ -40,7 +40,7 @@ function failureCallback(error) { doSomethingOldStyle(successCallback, failureCallback); </pre> -<p>…современные функции возвращают промис, в который вы записываете ваши коллбэки:</p> +<p>…современные функции возвращают промис, в который вы записываете ваши колбэки:</p> <pre class="brush: js line-numbers language-js">function doSomething() { return new Promise((resolve, reject) => { @@ -65,12 +65,12 @@ promise.then(successCallback, failureCallback);</pre> <h2 id="Гарантии">Гарантии</h2> -<p>В отличие от старомодных переданных коллбэков промис дает некоторые гарантии:</p> +<p>В отличие от старомодных переданных колбэков промис дает некоторые гарантии:</p> <ul> - <li>Коллбэки никогда не будут вызваны до <a href="/ru/docs/Web/JavaScript/EventLoop#Никогда_не_блокируется">завершения обработки текущего события</a> в событийном цикле JavaScript.</li> - <li>Коллбеки, добавленные через .then даже <em>после </em>успешного или неудачного завершения асинхронной операции, будут также вызваны.</li> - <li>Несколько коллбэков может быть добавлено вызовом .then нужное количество раз, и они будут выполняться независимо в порядке добавления.</li> + <li>Колбэки никогда не будут вызваны до <a href="/ru/docs/Web/JavaScript/EventLoop#Никогда_не_блокируется">завершения обработки текущего события</a> в событийном цикле JavaScript.</li> + <li>Колбэки, добавленные через .then даже <em>после </em>успешного или неудачного завершения асинхронной операции, будут также вызваны.</li> + <li>Несколько колбэков может быть добавлено вызовом .then нужное количество раз, и они будут выполняться независимо в порядке добавления.</li> </ul> <p>Но наиболее непосредственная польза от промисов - цепочка вызовов (<em>chaining</em>).</p> @@ -90,11 +90,11 @@ let promise2 = promise.then(successCallback, failureCallback); <pre class="brush: js">let promise2 = doSomething().then(successCallback, failureCallback); </pre> -<p>Второй промис представляет завершение не только <code>doSomething()</code>, но и функций <code>successCallback</code> или <code>failureCallback</code>, переданных Вами, а они тоже могут быть асинхронными функциями, возвращающими промис. В этом случае все коллбэки, добавленные к <code>promise2</code> будут поставлены в очередь за промисом, возвращаемым <code>successCallback</code> или <code>failureCallback</code>.</p> +<p>Второй промис представляет завершение не только <code>doSomething()</code>, но и функций <code>successCallback</code> или <code>failureCallback</code>, переданных Вами, а они тоже могут быть асинхронными функциями, возвращающими промис. В этом случае все колбэки, добавленные к <code>promise2</code> будут поставлены в очередь за промисом, возвращаемым <code>successCallback</code> или <code>failureCallback</code>.</p> <p>По сути, каждый вызванный промис означает успешное завершение предыдущих шагов в цепочке.</p> -<p>Раньше выполнение нескольких асинхронных операций друг за другом приводило к классической "Вавилонской башне" коллбэков:</p> +<p>Раньше выполнение нескольких асинхронных операций друг за другом приводило к классической "Вавилонской башне" колбэков:</p> <pre class="brush: js">doSomething(function(result) { doSomethingElse(result, function(newResult) { @@ -105,7 +105,7 @@ let promise2 = promise.then(successCallback, failureCallback); }, failureCallback); </pre> -<p>В современных функциях мы записываем коллбэки в возвращаемые промисы - формируем цепочку промисов:</p> +<p>В современных функциях мы записываем колбэки в возвращаемые промисы - формируем цепочку промисов:</p> <pre class="brush: js">doSomething().then(function(result) { return doSomethingElse(result); @@ -130,7 +130,7 @@ let promise2 = promise.then(successCallback, failureCallback); .catch(failureCallback); </pre> -<p><strong>Важно:</strong> Всегда возвращайте промисы в return, иначе коллбэки не будут сцеплены и ошибки могут быть не пойманы (стрелочные функции неявно возвращают результат, если скобки {} вокруг тела функции опущены).</p> +<p><strong>Важно:</strong> Всегда возвращайте промисы в return, иначе колбэки не будут сцеплены и ошибки могут быть не пойманы (стрелочные функции неявно возвращают результат, если скобки {} вокруг тела функции опущены).</p> <h3 id="Цепочка_вызовов_после_catch">Цепочка вызовов после catch</h3> @@ -199,17 +199,17 @@ let promise2 = promise.then(successCallback, failureCallback); <p>Работа данного кода основана на промисах. Для примера здесь используется функция <code>doSomething()</code>, которая встречалась ранее. Вы можете прочитать больше о синтаксисе <a href="https://developers.google.com/web/fundamentals/getting-started/primers/async-functions">здесь</a></p> -<p>Примисы решают основную проблему пирамид, обработку всех ошибок, даже вызовов исключений и программных ошибок. Это основа для функционального построения асинхронных операций.</p> +<p>Промисы решают основную проблему пирамид, обработку всех ошибок, даже вызовов исключений и программных ошибок. Это основа для функционального построения асинхронных операций.</p> -<h2 id="Создание_промиса_вокруг_старого_коллбэка">Создание промиса вокруг старого коллбэка</h2> +<h2 id="Создание_промиса_вокруг_старого_колбэка">Создание промиса вокруг старого колбэка</h2> <p>{{jsxref("Promise")}} может быть создан с помощью конструктора. Это может понадобится только для старых API.</p> -<p>В идеале, все асинхронные функции уже должны возвращать промис. Но увы, некоторые APIs до сих пор ожидают успешного или неудачного коллбека переданных по старинке. Типичный пример: {{domxref("WindowTimers.setTimeout", "setTimeout()")}} функция:</p> +<p>В идеале, все асинхронные функции уже должны возвращать промис. Но увы, некоторые APIs до сих пор ожидают успешного или неудачного колбэка переданных по старинке. Типичный пример: {{domxref("WindowTimers.setTimeout", "setTimeout()")}} функция:</p> <pre><code>setTimeout(() => saySomething("10 seconds passed"), 10000);</code></pre> -<p>Смешивание старого коллбэк-стиля и промисов проблематично. В случае неудачного завершения <code>saySomething</code> или программной ошибки, нельзя обработать ошибку.</p> +<p>Смешивание старого колбэк-стиля и промисов проблематично. В случае неудачного завершения <code>saySomething</code> или программной ошибки, нельзя обработать ошибку.</p> <p>К с частью мы можем обернуть функцию в промис. Хороший тон оборачивать проблематичные функции на самом низком возможном уровне, и больше никогда их не вызывать на прямую:</p> |