Una devolución de llamada es una función proporcionada por el consumidor de una API que la API puede dar vuelta e invocar (devolverle la llamada). Si configuro una cita con el Dr., puedo darles mi número de teléfono, para que puedan llamarme el día anterior para confirmar la cita. Una devolución de llamada es así, excepto que en lugar de simplemente ser un número de teléfono, pueden ser instrucciones arbitrarias como "envíeme un correo electrónico a esta dirección, y también llame a mi secretaria y pídala que lo ponga en mi calendario"
Las devoluciones de llamada son a menudo se usa en situaciones en las que una acción es asincrónica. Si necesita llamar a una función e inmediatamente continuar trabajando, no puede quedarse sentado allí esperando su valor de retorno para informarle lo que sucedió, de modo que usted proporciona una devolución de llamada. se realiza completamente su trabajo asíncrono, invocará su devolución de llamada con algunos argumentos predeterminados (generalmente algunos suministran, y algunos sobre el estado y el resultado de la acción asincrónica que solicitó).
Si el Dr. está fuera de la oficina , o todavía están trabajando en el horario, en lugar de tener que esperar en espera hasta que regrese, lo que podría ser varias horas, colgamos, y una vez programada la cita, me llaman.
En este caso específico, la función de envío de Parallel Python invocará su devolución de llamada con cualquier argumento que usted proporcione y el resultado de func
, una vez que func
haya terminado de ejecutarse.
Esto obtiene un gran voto positivo de mi parte (todavía vale la pena lo mismo que cualquier otro voto alternativo) para una analogía muy comprensible que probablemente sea útil para principiantes o alguien nuevo en esta técnica. –
Esta es una muy buena explicación para los principiantes, solo le falta una cosa: un código de muestra. Ahora que un principiante sabe de qué se trata, ¿podría darnos un ejemplo simple de cómo se vería? usando su análogo como nombres de función ea: 'callDoctor() callPatientBack()' etc. –