L'approche à plusieurs requêtes MySQL avec Node.js

Je suis un newbie à la fois sur l'événement/rappel style de programmation et NodeJS. Je suis en train de mettre en œuvre un petit serveur http qui sert ddbb de données à l'aide d'un noeud-module mysql.

Mes problèmes vient de requêtes de structuration. Car il y a souvent des requêtes qui nécessitent résultats de précédentes requêtes à exécuter, je ne suis pas en mesure d'exécuter tous en même temps (de manière asynchrone) et je suis obligé d'attendre des résultats.

Ma première approche a été d'exécuter tous les non-personne à la charge de requêtes en même temps et ensuite en boucle jusqu'à ce que tous d'entre eux ont mis un drapeau jusqu'à dire que je suis fait pour que je puisse continuer avec la personne à charge (synchronisé), mais je ne sais pas si c'est la bonne approche.

Quelque chose comme ceci:

function x(){
    var result_for_asynch_query_1 = null
    var result_for_asynch_query_2 = null

    mainLoop(){
        //call non-dependant query 1
        //call non-dependant query 2

        //loop until vars are != null

        //continue with queries that require data from the first ones
    }
}

//for each browser request
httpServer{
     call_to_x();
}.listen();

Cette façon, je peux gagner du temps dans le résultat final, puisque je n'attends pas toutes les réponses à une série façon, mais juste à la plus longue.

Est a t-il un moyen de faire cela? Tout modèle de conception, je ne suis pas la suite?

InformationsquelleAutor luso | 2011-07-08