Résoudre le problème de l'enfer des rappels lors de l'exportation d'une valeur dans une requête SQL
P粉014218124
2023-09-04 21:09:38
<p>Mon objectif est de définir <code>someVar</code> sur 1 si ma requête SQL trouve un résultat.
Le problème est que l'affectation est locale et lorsque j'essaie d'utiliser <code>console.log(someVar)</code>, le résultat est 1 à l'intérieur du bloc, mais 0 à l'extérieur du bloc. Existe-t-il un moyen d'exporter les valeurs en dehors du bloc ? </p>
<pre class="brush:js;toolbar:false;">let someVar = 0;
con.query(`SOME SQL QUERY`, (erreur, lignes) => {
si (erreur) renvoie une erreur
if (lignes.longueur > 0) {
uneVar = 1 ;
//console.log(someVar) -> Le résultat est 1
}
});
con.end();
//console.log(someVar) -> Le résultat est 0
si (uneVar === 0) {
//Un peu de code
}
</pre></p>
Grâce à Fredrik, je l'ai réparé. J'ai fini par utiliser une promesse comme celle-ci