Skip to content

Commit 048c083

Browse files
authored
Merge pull request #887 from renuo-nego/patch-1
Update task.md
2 parents 0140f86 + 2cb3aef commit 048c083

File tree

1 file changed

+5
-5
lines changed
  • 1-js/06-advanced-functions/09-call-apply-decorators/04-throttle

1 file changed

+5
-5
lines changed

1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/task.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,16 @@ importance: 5
1717

1818
**Мы бы хотели обновлять информацию на странице при передвижениях.**
1919

20-
...Но функция обновления `update()` слишком ресурсоёмкая, чтобы делать это при каждом микродвижении. Да и нет смысла делать обновление чаще, чем один раз в 100 мс.
20+
...Но функция обновления `update()` слишком ресурсоёмкая, чтобы делать это при каждом микродвижении. Да и нет смысла делать обновление чаще, чем один раз в 1000 мс.
2121

22-
Поэтому мы обернём вызов в декоратор: будем использовать `throttle(update, 100)` как функцию, которая будет запускаться при каждом перемещении указателя вместо оригинальной `update()`. Декоратор будет вызываться часто, но передавать вызов в `update()` максимум раз в 100 мс.
22+
Поэтому мы обернём вызов в декоратор: будем использовать `throttle(update, 1000)` как функцию, которая будет запускаться при каждом перемещении указателя вместо оригинальной `update()`. Декоратор будет вызываться часто, но передавать вызов в `update()` максимум раз в 1000 мс.
2323

2424
Визуально это будет выглядеть вот так:
2525

2626
1. Для первого движения указателя декорированный вариант сразу передаёт вызов в `update`. Это важно, т.к. пользователь сразу видит нашу реакцию на его перемещение.
27-
2. Затем, когда указатель продолжает движение, в течение 100 мс ничего не происходит. Декорированный вариант игнорирует вызовы.
28-
3. По истечению 100 мс происходит ещё один вызов `update` с последними координатами.
29-
4. Затем, наконец, указатель где-то останавливается. Декорированный вариант ждёт, пока не истечёт 100 мс, и затем вызывает `update` с последними координатами. В итоге окончательные координаты указателя тоже обработаны.
27+
2. Затем, когда указатель продолжает движение, в течение 1000 мс ничего не происходит. Декорированный вариант игнорирует вызовы.
28+
3. По истечению 1000 мс происходит ещё один вызов `update` с последними координатами.
29+
4. Затем, наконец, указатель где-то останавливается. Декорированный вариант ждёт, пока не истечёт 1000 мс, и затем вызывает `update` с последними координатами. В итоге окончательные координаты указателя тоже обработаны.
3030

3131
Пример кода:
3232

0 commit comments

Comments
 (0)