Ho questa classe:Chiama un metodo quando tutti i differiti sono completati?
(function(){
"use strict";
var FileRead = function() {
this.init();
};
p.read = function(file) {
var fileReader = new FileReader();
var deferred = $.Deferred();
fileReader.onload = function(event) {
deferred.resolve(event.target.result);
};
fileReader.onerror = function() {
deferred.reject(this);
};
fileReader.readAsDataURL(file);
return deferred.promise();
};
lx.FileRead = FileRead;
}(window));
La classe viene chiamato in un ciclo:
var self = this;
$.each(files, function(index, file){
self.fileRead.read(file).done(function(fileB64){self.fileShow(file, fileB64, fileTemplate);});
});
La mia domanda è: esiste un modo per chiamare un metodo una volta che il ciclo è stato completato e self.fileRead
è tornato è differito per tutto il ciclo?
Voglio chiamare il metodo anche se uno o più dei differiti fallisce.
Non è quello che '.sempre()' è per? – DevlshOne
È consigliabile utilizzare una libreria di promessa migliore. –
'.read' usa metodi internamente sull'oggetto? C'è qualche ragione è un metodo di istanza? –