Je suis nouveau à Node.js et je ne sais pas comment exécuter une fonction settimeout avant une autre fonction,NodeJS Exécuter la tâche dans l'ordre
par exemple,
var async = require('async');
function hello(){
setTimeout(function(){
console.log('hello');
},2000);}
function world(){
console.log("world");
}
async.series([hello,world()]);
et la sortie est toujours le monde bonjour. Est-ce que j'utilise la bibliothèque, n'est-ce pas?
Je ne sais pas la question semble triviale, mais je n'ai vraiment aucune idée de comment forcer une tâche courte à exécuter après un long
Plusieurs problèmes: 1) l'expression 'monde()' 'exécute world' immédiatement (ce qui est fait * avant *' hello' est jamais appelé) 2) 'hello' retourne * avant * l'exécution de setTimeout. Pour une utilisation de async, l'idiome 'callback' doit être utilisé. Voir http://stackoverflow.com/questions/15969082/node-js-async-series-is-that-how-it-is-supposed-to-work - ceci explique le problème avec 'world()' et montre l'utilisation du paramètre de rappel. – user2864740
Donc, non: vous utilisez la mauvaise bibliothèque (et ne pas expliquer le comportement correctement). Suivez la documentation et recherchez des exemples. – user2864740