Обратные вызовы Lambda — важная концепция в событийно-ориентированном программировании. Они позволяют вам выполнить определенную функцию, известную как функция обратного вызова, после завершения определенного события или задачи. В этой статье мы рассмотрим различные методы использования лямбда-обратных вызовов, сопровождаемые примерами кода на JavaScript и Python.
-
Примеры JavaScript:
1.1. Слушатели событий:document.getElementById('myButton').addEventListener('click', () => { console.log('Button clicked!'); });1.2. setTimeout():
setTimeout(() => { console.log('Delayed function executed!'); }, 2000);1.3. Обещания:
const fetchData = () => { return new Promise((resolve, reject) => { // Perform asynchronous operations if (/* operation successful */) { resolve('Data fetched successfully!'); } else { reject('Error occurred while fetching data.'); } }); }; fetchData().then((data) => { console.log(data); }).catch((error) => { console.error(error); }); -
Примеры Python:
2.1. Библиотеки, управляемые событиями:import asyncio async def my_callback(): print('Callback function executed!') loop = asyncio.get_event_loop() loop.call_soon(my_callback) loop.run_forever()2.2. Декораторы обратного вызова:
def callback_decorator(func): def wrapper(*args, kwargs): # Pre-processing steps result = func(*args, kwargs) # Post-processing steps return result return wrapper @callback_decorator def my_callback(): print('Callback function executed!') my_callback()2.3. Асинхронный/ожидающий:
import asyncio async def my_callback(): await asyncio.sleep(2) print('Delayed function executed!') asyncio.run(my_callback())
Обратные вызовы Lambda предоставляют мощный механизм обработки событий и асинхронных задач в программировании. Понимая и используя эти методы, вы можете повысить эффективность и скорость реагирования вашего кода. Независимо от того, работаете ли вы с JavaScript или Python, примеры, приведенные в этой статье, послужат прочной основой для включения лямбда-обратных вызовов в ваши проекты.