0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Функция обратного вызова, или<em>колбэк-функция</em>, - это любая функция, которая передаётся в другую функцию в качестве аргумента.</p>
1
<p>Функция обратного вызова, или<em>колбэк-функция</em>, - это любая функция, которая передаётся в другую функцию в качестве аргумента.</p>
2
<p>Рассмотрим пример. Создадим функцию, которая принимает на вход обращение и имя и выводит в консоль приветствие:</p>
2
<p>Рассмотрим пример. Создадим функцию, которая принимает на вход обращение и имя и выводит в консоль приветствие:</p>
3
<p>Теперь объявим вторую функцию, которая принимает на вход функцию (колбэк) и имя. Передав колбэк в другую функцию, мы можем внутри этой функции вызывать колбэк, передавать в него аргументы, возвращать, то есть совершать нужные нам действия:</p>
3
<p>Теперь объявим вторую функцию, которая принимает на вход функцию (колбэк) и имя. Передав колбэк в другую функцию, мы можем внутри этой функции вызывать колбэк, передавать в него аргументы, возвращать, то есть совершать нужные нам действия:</p>
4
<p>Вызовем функцию sayGreeting(), передав в нее колбэк и какое-нибудь имя:</p>
4
<p>Вызовем функцию sayGreeting(), передав в нее колбэк и какое-нибудь имя:</p>
5
<p>С использованием функций обратного вызова работают многие методы массивов, такие как map(), filter(), reduce(), find(), every() и другие. Продемонстрируем на примере метода map(), который принимает колбэк, вызывает его на каждом элементе массива и результат вызова записывает в новый массив. Например, у нас есть массив чисел:</p>
5
<p>С использованием функций обратного вызова работают многие методы массивов, такие как map(), filter(), reduce(), find(), every() и другие. Продемонстрируем на примере метода map(), который принимает колбэк, вызывает его на каждом элементе массива и результат вызова записывает в новый массив. Например, у нас есть массив чисел:</p>
6
<p>Нам нужно каждое число умножить на 2. Объявим для этого функцию, которая принимает одно число и умножает его на 2:</p>
6
<p>Нам нужно каждое число умножить на 2. Объявим для этого функцию, которая принимает одно число и умножает его на 2:</p>
7
<p>Передадим функцию в качестве колбэка в метод map():</p>
7
<p>Передадим функцию в качестве колбэка в метод map():</p>
8
<p>Или более короткий вариант записи:</p>
8
<p>Или более короткий вариант записи:</p>
9
<p>Часто колбэк определяется не снаружи, а внутри метода/функции:</p>
9
<p>Часто колбэк определяется не снаружи, а внутри метода/функции:</p>
10
<p>Кроме того, функции обратного вызова используются внутри асинхронных методов. В этом случае их вызов происходит после завершения какой-то другой операции, например, после окончания времени таймера, после совершения пользователем определенного действия на странице, после получения данных с бэкенда и т.д.:</p>
10
<p>Кроме того, функции обратного вызова используются внутри асинхронных методов. В этом случае их вызов происходит после завершения какой-то другой операции, например, после окончания времени таймера, после совершения пользователем определенного действия на странице, после получения данных с бэкенда и т.д.:</p>
11
11