Blocs d'appels asynchrone + return result
bonjour,
J'ai vraiment un problème pour retourner le résultat de ce bloc d'appels asynchrones :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
// définition de la fonction
function checkIfUIDExit(check_uid) {
// On vérifie dans la BDD mongoDB si l'UID de l'user existe
MongoClient.connect('mongodb://localhost:29111/bdd', function(err, db) {
db.collection('user').find({id : check_id}).count( (err, result) => {
if (err) {
throw err;
}
console.log("result", result); // renvoie le nombre d'user portant l'id
return result;
});
});
} |
Code:
1 2 3
|
// Appel de la fonction
console.log(checkIfUIDExit("mon_id")); |
Je comprend pourquoi ce résultat me renvoie 'undefined', car la fonction est en traitement lors de l'affichage console.log.
J'ai également lu certaines ressources comme celle ci, tester avec async ou await, ou appeler tel que :
Code:
1 2 3 4
|
checkIfUIDExit("mon_uid").then(result => {
console.log(result);
}); |
mais sans résultat ....
J'aurai pu appliquer avec "async" ce que j'ai lu mais le fait que ce soit imbriqué çà n'est plus la même chose.
Auriez vous une solution svp ?
bonne journée