Je suis en train de chercher des résultats et faire le traitement ultérieur en fonction de ces résultats, mais je ne peux pas continuer à travailler séquentiellement,noeud mysql exécution de la requête séquentielle
var sql = query1;
con.query(sql, function (err, results) {
if (err) throw err;
// ids => 5,2,3,4
for (i = 0; i < results.length; i++) {
target_user = results[i].ID
var sql = "DELETE QUERY";
con.query(sql, function (err) {
if (err) throw err;
console.log(target_user)
var sql = "INSERT QUERY";
console.log(sql)
con.query(sql, function (err) {
if (err) throw err;
})
})
}
})
Le code ci-dessus fonctionne de manière asynchrone, Qu'est-ce que J'Expect est une sortie dans une boucle comme celui-ci
// "DELETE QUERY";
//5
// "INSERT QUERY";
// "DELETE QUERY";
//2
// "INSERT QUERY";
et ainsi de suite ..
mais ce que je reçois est
// "DELETE QUERY";
//5
// "DELETE QUERY";
//5 //not fetching the next array val
// "INSERT QUERY";
// "INSERT QUERY";
Toute aide est très appréciée.
EDIT
de réponses que je code mis à jour comme celui-ci
maintenant le code ressemble à ceci
aysnc.forEach(results, function(elem, callback){
target_user = elem.id
console.log('out')
console.log(target_user)
con.query(sql, function (err) {
if (err) throw err;
console.log('in')
console.log(target_user)
})
})
Une chose étrange que la production est
out
5
in
5
out
2
in
5 //when it is supposed to be 2
est la seule solution qui a fonctionné! Merci. –