Bonjour tout le monde,

Je voudrais faire une application javascript permettant de télécharger un fichier sur mon serveur en AJAX.
Comme sur le site : https://mega.co.nz/
Pour cela, j'ai une application serveur qui me découpe mon fichier en plusieurs parties.
Ces parties sont récupéré grâce a des requêtes AJAX.
La ou je bloque, c'est pour récupérer le résultats des requêtes AJAX qui sont asynchrones.

Voici le code que j'ai commencé a faire :
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
//Buffer qui va contenir les données téléchargés
var buffer = new Array(nbParts);
//nbParts est le nombre de parties du fichier qui doivent être téléchargées
for(var i=0; i < nbParts; ++i) {
	var ajax = getXMLHttpRequest();
//Reception du résultat des requêtes AJAX.
	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4 && (ajax.status == 200 || ajax.status == 0)) {
			buffer[i] = atob(ajax.responseText);
		}
	}
	ajax.open("GET", url + "?type=download&file=" + alias + "&index=" + offset + "&size=" + parseInt(sizeParts-1), true);
	ajax.send(null);
	offset += sizeParts;
}
Mais mon tableau buffer ne se remplis pas. :s
J'ai essayé de regarder les sources javascript du site mega, mais je n'arrive pas a comprendre comment ils font pour récupérer le résultats de ces requêtes asynchrones. (class ClassChunk du site mega)
J'ai aussi pensé a faire de la récursivité dans les fonctions callback des requêtes asynchrone, mais l’Intérêt du mode asynchrone est perdus...

Merci d'avance pour votre aide,