Quelle est la fonction de rappel CallBack

Première explication, facile à comprendre:
généralement, lorsque vous écrivez un programme, vous appelez l'API du système. Si vous inversez la relation, vous écrivez une fonction et laissez le système appeler votre fonction, il s'agit d'un rappel et la fonction appelée par le système est la fonction de rappel.

Explication deux, facile à comprendre:
généralement une fonction appelle une autre fonction, la fonction appelée apparaît dans le corps de la méthode et la fonction de rappel est plus spéciale, elle apparaît dans la liste des paramètres. En d'autres termes, lors de l'appel, il faut obtenir ce (rappel ) fonctionne depuis d'autres endroits et le transmet en tant que paramètre.

Explication trois, après avoir lu la réponse plus spécifique: la
fonction de rappel est appelée fonction de rappel, en fait, une meilleure définition est la fonction «appel après».

Permettez-moi de vous expliquer en termes humains, une fonction de rappel est une fonction qui sera exécutée immédiatement après la fin d'une autre fonction . Une fonction de rappel est une fonction passée en paramètre à une autre fonction JavaScript. Cette fonction de rappel sera exécutée dans la fonction transmise.

Pour citer une meilleure note sur Stack Overflow:

Une fonction de rappel est une fonction qui est: accessible par une autre
fonction, et est appelée après la première fonction si cette première
fonction se termine

Les deux exemples suivants le clarifieront:

function greeting(name) {
    
    
  alert('Hello ' + name);
}
 
function processUserInput(callback) {
    
    
  var name = prompt('请输入你的名字。');
  callback(name);
}
 
processUserInput(greeting);

L'exemple ci-dessus est un rappel synchrone, qui est exécuté immédiatement.

Cependant, il convient de noter que les fonctions de rappel sont souvent utilisées pour continuer à effectuer une opération terminée de manière asynchrone et qu'elles sont appelées des rappels asynchrones.

un autre exemple:

// A function which accepts another function as an argument
// (and will automatically invoke that function when it completes - note that there is no explicit call to callbackFunction)
function printANumber(number, callbackFunction) {
    
    
    console.log("The number you provided is: " + number);
    setTimeout(function() {
    
     callbackFunction(); }, 3000); 
    console.log("second");
}
 
// a function which we will use in a driver function as a callback function
function printFinishMessage() {
    
    
    console.log("I have finished printing numbers.");
}
 
// Driver method
 
printANumber(6, printFinishMessage);

Après avoir exécuté la fonction printANumber, le résultat:

> "The number you provided is: 6"
> "second"
> "I have finished printing numbers."

Vous pouvez voir que "Le nombre que vous avez fourni est: 6" et "deuxième" sont sortis en premier, et "J'ai fini d'imprimer les nombres." Est sorti après un délai de trois secondes.

Nous pouvons donc penser que l'exécution réelle de callbackFunction est exécutée après l'exécution du corps de la fonction principale printANumber.

Ceci est d'une grande importance pour nous. Par exemple, lorsque nous appelons une API externe dans une fonction liée à une page Web, nous devons l'exécuter de manière asynchrone, puis transmettre la fonction de rappel. Si elle est exécutée de manière synchrone, elle est bloquante. Nous avons besoin attendre le résultat de l'appel de l'API avant de l'exécuter. Cette dernière fonction peut entraîner le blocage et le retard du chargement de l'interface, et l'utilisation de la fonction de rappel pour s'exécuter de manière asynchrone n'affectera pas l'exécution de notre fonction ultérieure et n'est pas blocage.

Je suppose que tu aimes

Origine blog.csdn.net/nikyae/article/details/111239334
conseillé
Classement