J'ai vu un code qui ressemble à ceci (Pro Node). Il utilise la bibliothèque async
.Que font les arguments de rappel dans la bibliothèque JS Async?
var async = require("async");
async.series([
function(callback) {
setTimeout(function() {
console.log("Task 1");
callback(null, 1);
}, 300); },
function(callback) {
setTimeout(function() {
console.log("Task 2");
callback(null, 2);
}, 200);
},
function(callback) {
setTimeout(function() {
console.log("Task 3");
callback(null, 3);
}, 100); }
], function(error, results) {
console.log(results);
});
Quand je lance, il montre:
Task 1
Task 2
Task 3
[ 1, 2, 3 ]
Tout va bien - cependant, je ne comprends pas tout à fait ce que les lignes de rappel sont: callback(null, 1)
, callback(null, 2)
et callback(null, 3)
.
Si je supprime toutes ces lignes, quand je lance le code retourne seulement:
Task 1
Qu'est-ce que les premier et deuxième arguments font et pourquoi sont les deuxièmes arguments 1
, 2
et 3
?
Savez-vous quels rappels sont sans async.js? Savez-vous comment fonctionnent les rappels dans les fonctions du nœud natif? – Bergi
@ Bergi, je ne suis pas familier. J'ai utilisé les rappels dans le passé quand 'fetch', mais je ne l'ai pas exploré. Je n'étais pas sûr si c'est une chose asynchrone ou une chose javascript plus large. – Iggy
Dans ce cas, vous souhaiterez d'abord lire un didacticiel plus générique - il existe des dizaines de tutoriels sur le fonctionnement des callbacks dans nodejs - par ex. [celui-ci] (https://eloquentjavascript.net/20_node.html). Pour plus d'informations sur la raison pour laquelle les rappels de nœud ont deux paramètres, voir [cette question] (https://stackoverflow.com/q/40511513/1048572) – Bergi