From 5137bfc5eed4656d1b5170020e1d3f0f52ccb794 Mon Sep 17 00:00:00 2001 From: Kirill Poddubnyi Date: Thu, 1 May 2025 11:23:36 +0200 Subject: [PATCH] Update README.md --- README.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index ab106a5..41b1a08 100644 --- a/README.md +++ b/README.md @@ -1775,11 +1775,11 @@ class HttpRequester { } function makeAjaxCall(url: string): Promise { - // запит і повернення обіцянки + // запит і повернення промісу } function makeHttpCall(url: string): Promise { - // запит і повернення обіцянки + // запит і повернення промісу } ``` @@ -1798,7 +1798,7 @@ class AjaxAdapter extends Adapter { } async request(url: string): Promise{ - // запит і повернення обіцянки + // запит і повернення промісу } // ... @@ -1810,7 +1810,7 @@ class NodeAdapter extends Adapter { } async request(url: string): Promise{ - // запит і повернення обіцянки + // запит і повернення промісу } // ... @@ -2244,10 +2244,10 @@ describe('Calendar', () => { ## Асинхронність -### Перевага обіцянок (promises) перед зворотними викликами (callbacks) +### Перевага промісів (promises) перед зворотними викликами (callbacks) Зворотні виклики не є чистими, і вони спричиняють надмірну кількість вкладеності *(пекло зворотних викликів)*. -Існують утиліти, які перетворюють існуючі функції, що використовують зворотні виклики, на версію, яка повертає обіцянки +Існують утиліти, які перетворюють існуючі функції, що використовують зворотні виклики, на версію, яка повертає проміси (для Node.js див. [`util.promisify`](https://nodejs.org/dist/latest-v8.x/docs/api/util.html#util_util_promisify_original), для загального призначення див. [pify](https://www.npmjs.com/package/pify), [es6-promisify](https://www.npmjs.com/package/es6-promisify)) **Погано:** @@ -2300,22 +2300,22 @@ downloadPage('https://en.wikipedia.org/wiki/Robert_Cecil_Martin', 'article.html' .catch(error => console.error(error)); ``` -Обіцянки підтримують кілька допоміжних методів, які допомагають зробити код більш стислим: +Проміси підтримують кілька допоміжних методів, які допомагають зробити код більш стислим: | Шаблон | Опис | | ------------------------ | ----------------------------------------- | -| `Promise.resolve(value)` | Перетворює значення в вирішену обіцянку. | -| `Promise.reject(error)` | Перетворює помилку в відхилену обіцянку. | -| `Promise.all(promises)` | Повертає нову обіцянку, яка виконується з масивом значень виконання для переданих обіцянок або відхиляється з причиною першої обіцянки, яка відхиляється. | -| `Promise.race(promises)`| Повертає нову обіцянку, яка виконується/відхиляється з результатом/помилкою першої врегульованої обіцянки з масиву переданих обіцянок. | +| `Promise.resolve(value)` | Перетворює значення в вирішений проміс. | +| `Promise.reject(error)` | Перетворює помилку в відхилений проміс. | +| `Promise.all(promises)` | Повертає новий проміс, який виконується з масивом значень виконання для переданих промісів або відхиляється з причиною першого промісу, яка відхиляється. | +| `Promise.race(promises)`| Повертає новий проміс, який виконується/відхиляється з результатом/помилкою першого врегульованого промісу з масиву переданих промісів. | -`Promise.all` особливо корисний, коли існує потреба запускати завдання паралельно. `Promise.race` полегшує реалізацію таких речей, як тайм-аути для обіцянок. +`Promise.all` особливо корисний, коли існує потреба запускати завдання паралельно. `Promise.race` полегшує реалізацію таких речей, як тайм-аути для промісів. **[⬆ повернутися до змісту](#зміст)** -### Async/Await ще чистіші за обіцянки +### Async/Await ще чистіші за проміси -З синтаксисом `async`/`await` ви можете писати код, який є набагато чистішим та зрозумілішим, ніж ланцюжки обіцянок. У функції з префіксом ключового слова `async` у вас є спосіб сказати середовищу виконання JavaScript призупинити виконання коду на ключовому слові `await` (коли воно використовується з обіцянкою). +З синтаксисом `async`/`await` ви можете писати код, який є набагато чистішим та зрозумілішим, ніж ланцюжки промісів. У функції з префіксом ключового слова `async` у вас є спосіб сказати середовищу виконання JavaScript призупинити виконання коду на ключовому слові `await` (коли воно використовується з промісом). **Погано:** @@ -2368,10 +2368,10 @@ try { ### Завжди використовуйте Error для викидання чи відхилення -JavaScript, а також TypeScript дозволяють вам `throw` будь-який об'єкт. Обіцянка також може бути відхилена з будь-якою причиною об'єкта. +JavaScript, а також TypeScript дозволяють вам `throw` будь-який об'єкт. Проміс також може бути відхилено з будь-якою причиною об'єкта. Рекомендується використовувати синтаксис `throw` з типом `Error`. Це тому, що ваша помилка може бути перехоплена у коді вищого рівня з синтаксисом `catch`. Було б дуже заплутано перехопити там текстове повідомлення, і це зробило б [налагодження більш болісним](https://basarat.gitbook.io/typescript/type-system/exceptions#always-use-error). -З тієї ж причини ви повинні відхиляти обіцянки з типами `Error`. +З тієї ж причини ви повинні відхиляти проміси з типами `Error`. **Погано:** @@ -2462,7 +2462,7 @@ try { **[⬆ повернутися до змісту](#зміст)** -### Не ігноруйте відхилені обіцянки +### Не ігноруйте відхилені проміси З тієї ж причини ви не повинні ігнорувати перехоплені помилки з `try/catch`.