Ich bin neu Versprechen und Q zu verwenden, ich bin sicher, ich tue nicht richtig,
bitte einen Vorschlag machen mir,Wie
kann ich fcall
innerhalb fcall
? Weil es eine For-Schleife gibt Ich möchte sicherstellen, dass jedes Element image[i]
eine Liste versprechungen Funktion Fluss verarbeiten.
Ich brauche die response
von Anfang bis Ende, Eingabe zu jeder Versprechen-Funktion, dann weiter zum nächsten Fluss das Ende zurück zum Client Seite
aber ich habe nicht, wie mit der Schleife beschäftigen
var response = {};
Q.fcall(function() {
// validate request ...
return response;
})
.then(function(response) {
// save file
for (var i = 0; i < images.length; i++) {
Q.fcall(function() {
// do something with images[i]
return response;
})
.then(function(response) {
// do something with images[i]
return response;
})
.fail(function(error, response) {
response.error = error;
res.send(response);
})
.done(function(response) {
return response;
})
}
return response; << I want this response append data from above loop if above loop all success, then to next flow save db query, if one fail then res.send(), not execute all after
})
.then(function(response) {
// save db query ...
return response
})
.fail(function(error, response) {
response.error = error;
res.send(response);
}).done(function(response) {
res.send(response);
});
im Moment Antwort von '.done' in Die Bildverarbeitungskette ist nirgends verloren. Lesen Sie über 'Q.All'. Machen Sie ein Array von Versprechen (Ketten, die Sie in 'für' Schleife erstellen) und verwenden Sie' Q.All' –
danke für die Antwort, in der Bildprozesskette müssen sie eine getan, dann zur nächsten, wenn q.all in der Lage, das gleiche zu tun Ding? – user1575921
Müssen Sie ein Bild genau nach dem anderen bearbeiten? oder machen Sie einfach zwei verschiedene Dinge auf jedem Bild? –