Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.javascript > #4953
| From | Stefan Reuther <stefan.news@arcor.de> |
|---|---|
| Newsgroups | de.comp.lang.javascript |
| Subject | Re: Anfängerproblem mit asynchroner Verarbeitung |
| Date | 2018-05-25 17:45 +0200 |
| Message-ID | <pe9i4n.2io.1@stefan.msgid.phost.de> (permalink) |
| References | <pe96r0$8ki$1@news.albasani.net> |
Am 25.05.2018 um 16:33 schrieb Jan Novak:
> ich habe unten stehenden Code, welcher mir Dateien öffnet, resized und
> während der Laufzeit Infos ausgibt. Ich möchte nun, dass nach der
> letzten Datei das modale Fenster (modal.style.display = "none";)
> geschlossen wird.
Da hilft nur mitzählen oder anderweitig Status für alle Dateien mitführen.
> Zusätzlich wäre es schön, dass ich im modalen Fenster
> anzeigen kann, welche Datei gerade bearbeitet wird und nicht diejenige,
> welcher fertig ist.
Asynchron heißt, dass du nicht weißt, welche Datei (Einzahl) gerade
bearbeitet wird. Du kannst nur wissen, für welche Dateien (Mehrzahl) du
bereits Requests abgesendet hast und welche davon schon zurückgekommen sind.
Aus der Hüfte geschossen und ungetestet:
> function resizing(mFiles){
> modal.style.display = "block";
var numRequests = 0, pendingFiles = {};
function updateDisplay() {
if (numRequests === 0) { modal.style.display = "none" }
else {
document.getElementById("INFO_TEXT").innerHTML = "Processing
" + Object.keys(pendingFiles).join(', ');
// ^^^ hier wäre noch HTML-Escaping notwendig.
}
}
> document.getElementById("INFO_TEXT").innerHTML = "Processing ...";
> var archiveId = $( "#ARCHIVE" ).val();
> mFiles.forEach(function(item, index, array) {
> var request=baseURL +
> '/include/api/upload_process.php?action=createImg&file='+item["name"];
++numRequests;
pendingFiles[item.name] = 1;
> $.ajax({
> url: request,
> async: true
> }).done(function(data) {
> ret = JSON.parse(data);
> console.log(ret);
--numRequests;
delete item.name;
updateDisplay();
/*
> document.getElementById("INFO_TEXT").innerHTML = "Processing
> ready: "+ item["name"];
*/
> });
> });
/*
> modal.style.display = "none";
> console.log("done");
*/
Stefan
Back to de.comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar
Anfängerproblem mit asynchroner Verarbeitung Jan Novak <repcom@gmail.com> - 2018-05-25 16:33 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Stefan Reuther <stefan.news@arcor.de> - 2018-05-25 17:45 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Jan Novak <repcom@gmail.com> - 2018-05-28 07:23 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Jan Novak <repcom@gmail.com> - 2018-05-30 10:00 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Stefan Reuther <stefan.news@arcor.de> - 2018-05-30 20:08 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-05-30 22:49 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-05-27 12:41 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Jan Novak <repcom@gmail.com> - 2018-05-28 07:22 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-05-28 13:36 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Jan Novak <repcom@gmail.com> - 2018-05-28 15:39 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-05-28 16:25 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Jan Novak <repcom@gmail.com> - 2018-05-29 09:06 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-05-30 21:08 +0200
Re: Anfängerproblem mit asynchroner Verarbeitung Jan Novak <repcom@gmail.com> - 2018-05-31 13:07 +0200
csiph-web