Понимание сути функций обратного вызова в JavaScript
В JavaScript функции обратного вызова предлагают удобный механизм выполнения функции после завершения другой функции его исполнение. Хотя концепция проста, оптимальная реализация обратных вызовов иногда может быть неясной. Давайте рассмотрим упрощенный пример:
var myCallBackExample = {
myFirstFunction: function(param1, param2, callback) {
// Do something with param1 and param2.
if (arguments.length == 3) {
// Execute callback function.
// How should we do this effectively?
}
},
mySecondFunction: function() {
myFirstFunction(false, true, function() {
// When this anonymous function is called, execute it.
});
}
};
Затруднительное положение возникает в функции myFirstFunction, где выполнение функции обратного вызова может быть достигнуто путем возврата нового обратного вызова(). Однако этот подход кажется нетрадиционным.
Решение удивительно простое:
Прямой вызов обратного вызова:
callback();
Это напрямую вызывает функцию обратного вызова без каких-либо промежуточных шагов.
Пользовательский вызов с методом вызова:
callback.call(newValueForThis);
Метод call обеспечивает большую гибкость, позволяя вам изменять значение this в обратном вызове. Значение this внутри обратного вызова будет установлено в newValueForThis.
С помощью этих простых методов вы можете использовать возможности функций обратного вызова и расширить возможности асинхронного выполнения вашего кода JavaScript.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3