refactor(operation) create: add/remove listeners

This commit is contained in:
coderaiser 2015-05-31 08:33:14 -04:00
parent bac66c5e19
commit 394314dd3d

View file

@ -49,18 +49,19 @@
spero(function() {
var parse = function(fn) {
return function(data, callback) {
var progress = function(value) {
var listeners = {
progress: function(value) {
Images.setProgress(value);
},
end = function() {
end: function() {
callback();
spero.removeListener('progress', progress);
spero.removeListener('error', error);
spero.removeListener('end', end);
events.forEach(function(name) {
spero.removeListener(name, listeners[name]);
});
},
error = function(data) {
error: function(data) {
var msg = data + '\n Continue?',
is = confirm(msg);
@ -68,15 +69,17 @@
spero.continue();
else
spero.abort();
};
}
},
events = Object.keys(listeners);
Images.show('top');
fn(data.from, data.to, data.names);
spero.on('progress', progress);
spero.on('end', end);
spero.on('error', error);
events.forEach(function(name) {
spero.on(name, listeners[name]);
});
};
};