Bonjour à vous tous,
Débutant en nodeJs, j'essayes de comprendre les Promises...
Pourriez vous m'aider sur cette fonction : Les variables sont valides ("value[0]", "value[3]...[i]")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
static RechCritUserById(value) {
			return new Promise((resolve, reject) => {
 
			for (var i = 0; i < value[3].length; i++) {
				let ParId = value[3][i];
				let UsrId = value[0];
				console.log(' A : ', ParId)
				var query_str = 'SELECT * FROM usr_par WHERE usr_id = ? AND par_id = ?';
				var query_var = [UsrId, ParId];
				connection.query(query_str, query_var, function (err, rows) {
					if (err) {
						return reject(err);
					}
					else {
						if (rows.length != 0) {
							console.log(' B ')
							value.push(rows);
						}
						else {
							console.log(' C ')
							var trans = { up_id: '', usr_id: UsrId, par_id: ParId, up_val: 0 }
							value.push(trans);
						}
					}
				});
			}
			console.log(' D ')
			resolve(value);
		});
	}
Comme vous pouvez le voir j'ai place des "console.log" pour savoir ou j'en étais...
Et comme résultat j'ai :

A
A
A
D
B
B
C
Le "D" qui est le "resolve" arrive trop tôt et donc "value" n'est pas incrémenté des nouvelles valeurs.
Comment pourrais-je faire ?
Merci de votre aise et temps.
Acqua2b