Un callback è una funzione fornita dall'utente di un'API che l'API può quindi attivare e richiamare (richiamando). Se imposto un appuntamento con il dottore, posso dare loro il mio numero di telefono, in modo che possano chiamarmi il giorno prima per confermare l'appuntamento. Una richiamata è così, tranne che per il semplice fatto di essere un numero di telefono, può essere istruzioni arbitrarie come "mandami una email a questo indirizzo, chiama anche la mia segretaria e falla mettere nel mio calendario
Le richiamate sono spesso utilizzato in situazioni in cui un'azione è asincrona. Se devi chiamare una funzione e continuare immediatamente a lavorare, non puoi sederti lì in attesa del suo valore di ritorno per farti sapere cosa è successo, quindi fornisci un callback. viene eseguito completamente il suo lavoro asincrono, quindi invocherà il callback con alcuni argomenti predeterminati (in genere alcuni forniti dall'utente e alcuni sullo stato e il risultato dell'azione asincrona richiesta).
Se il Dr. è fuori ufficio , o stanno ancora lavorando sul programma, invece di farmi aspettare in attesa fino al suo ritorno, che potrebbe essere di diverse ore, riagganciamo, e una volta che l'appuntamento è stato programmato, mi chiamano.
In questo caso specifico, la funzione di invio di Parallel Python invocherà la richiamata con qualsiasi argomento fornito e il risultato di func
, una volta terminato l'esecuzione di func
.
fonte
2009-08-23 17:52:53
Questo da me ottiene un grande sconto (vale comunque lo stesso valore di qualsiasi altro upvote) per un'analogia molto comprensibile che sarà probabilmente utile per i principianti o chiunque sia nuovo a questa tecnica –
Questa è un'ottima spiegazione per i principianti, manca solo una cosa: un codice di esempio. Ora che un principiante sa di cosa si tratta, potresti darci un semplice esempio di come sarebbe? usando il tuo analogo come nomi di funzioni ea: 'callDoctor() callPatientBack()' etc –