Розуміння зворотних викликів у JavaScript
Зворотні виклики – це функції, які передаються як аргументи іншим функціям і виконуються пізніше. Вони дозволяють вам виконувати фрагмент коду в певний момент виконання іншої функції, не знаючи точного часу чи розташування цього коду.
У JavaScript зворотні виклики зазвичай використовуються для обробки асинхронних операцій, таких як створення HTTP запит або встановлення таймера. Функція зворотного виклику передається як аргумент основній функції та виконується після завершення асинхронної операції.
Ось приклад використання функції зворотного виклику в JavaScript:
```
function makeRequest(callback) {
// Зробити HTTP-запит тут
// ...
callback();
}
makeRequest(function() {
console.log("Request completed");
});
```
У цьому прикладі функція `makeRequest` приймає функцію зворотного виклику як аргумент і виконує цю функцію після завершення запиту HTTP. Функція зворотного виклику передається як аргумент функції `makeRequest` і виконується після завершення запиту.
Зворотні виклики також можна використовувати з промісами, що дозволяє обробляти асинхронні операції більш структурованим способом. Ось приклад використання функції зворотного виклику з обіцянкою:
```
function makeRequest(callback) {
// Зробіть HTTP-запит тут
// ...
Promise.resolve().then(callback);
}
makeRequest(function() {
console.log("Request completed");
});
```
У цьому прикладі функція `makeRequest` повертає обіцянку, яка потім вирішується за допомогою функції зворотного виклику. Функція зворотного виклику виконується, коли обіцянка вирішена, тобто коли запит HTTP завершено.
Зворотні виклики також можна використовувати з подіями, такими як клацання мишею або натискання клавіш. Ось приклад використання функції зворотного виклику з прослуховувачем подій:
```
document.getElementById("myButton").addEventListener("click", function() {
console.log("Button clicked");
} );
```
У цьому прикладі метод `addEventListener` викликається в елементі кнопки HTML і передає функцію зворотного виклику як аргумент. Після натискання кнопки виконується функція зворотного виклику та записує повідомлення на консоль.