Bonsoir,

Mon environment de travail est sous typescript et nodejs

Je cree une requete http dans une boucle avec les promesses

seulement je voudrait mettre un timeout pour espacé les requête et donc les promesses

voici ce que je fait:

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
 
function myFunction() {
	let promise = [];
	for (let item of mList) {
		promise.push(getPromise(item));
	}
	return promise;
}
 
function getPromise(value) {
	let url = "my/url/" + value;
	return new Promise(function(resolve, reject) {
		http.get(url,function(result) {
			resolve(result);
		});
	});
}
 
function getPromisesAll() {
	Promise.all(myFunction())
}
en gros ce que je fait c'est créer un promesses dans une boucle
et passe un tableau de promesses à Promise.all

ma question est est-il possible d'attendre entre chaque promesse?

J'ai pas trouver la bonne solution

Avec ce code et un console.log tout arrive en meme temps(avec un timeout)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
function myFunction() {
	let promise = [];
	for (let item of mList) {
		setTimeout(() => {
		  promise.push(getPromise(item));
		},3000);
	}
	return promise;
}
Mon objectif est de pallier au souci de limite de requete sur un serveur
Sans le timeout que je compte réaliser avec vous j'ai cette erreur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
{ Error: socket hang up
    at TLSSocket.onHangUp (_tls_wrap.js:1124:19)
    at TLSSocket.g (events.js:292:16)
    at emitNone (events.js:91:20)
    at TLSSocket.emit (events.js:185:7)
    at endReadableNT (_stream_readable.js:974:12)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickDomainCallback (internal/process/next_tick.js:128:9) code: 'ECONNRESET' }
Je sais pas si c'est les requetes ou nodejs du coup?