|
1 | 1 |
|
2 | 2 | # Fetch: Прерывание запроса |
3 | 3 |
|
4 | | -Прервать выполнение метода `fetch` немного сложно. Помните, метод `fetch` возвращает промис. А в JavaScript в целом нет понятия "отмены" промиса. Итак, как можно отменить вызов `fetch`? |
| 4 | +Прервать выполнение метода `fetch` немного сложно. Как вы помните, метод `fetch` возвращает промис. А в JavaScript в целом нет понятия "отмены" промиса. Итак, как можно отменить вызов `fetch`? |
5 | 5 |
|
6 | 6 | Для таких целей существует специальный встроенный объект: `AbortController`. |
7 | 7 |
|
|
13 | 13 | let controller = new AbortController(); |
14 | 14 | ``` |
15 | 15 |
|
16 | | - Контроллер - чрезвычайно простой объект. Он имеет единственный метод `abort()` и единственное свойство `signal`, которое генерирует событие, когда вызывается `abort()`: |
| 16 | + Контроллер - чрезвычайно простой объект. Он имеет единственный метод `abort()` и единственное свойство `signal`, на котором возникает событие, когда вызывается `abort()`: |
17 | 17 |
|
18 | 18 | Мы даже можем использовать его без `fetch` для своих задач, например, так: |
19 | 19 |
|
@@ -68,12 +68,12 @@ try { |
68 | 68 | } |
69 | 69 | ``` |
70 | 70 |
|
71 | | -**`AbortController` - масштабируемый, поэтому позволяет отменить несколько вызовов `fetch` одновременно.** |
| 71 | +**`AbortController` - масштабируемый, позволяет отменить несколько вызовов `fetch` одновременно.** |
72 | 72 |
|
73 | | -Например, здесь мы запрашиваем много `url` параллельно, и контроллер прерывает их все: |
| 73 | +Например, здесь мы запрашиваем много URL параллельно, и контроллер прерывает их все: |
74 | 74 |
|
75 | 75 | ```js |
76 | | -let urls = [...]; // список `url` для запроса параллельно |
| 76 | +let urls = [...]; // список URL для запроса параллельно |
77 | 77 |
|
78 | 78 | let controller = new AbortController(); |
79 | 79 |
|
|
0 commit comments