mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-31 19:30:07 +00:00
trying a $.Callbacks(..) in makeDeferredPool(..), not sure yet...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
aac11de302
commit
266976c48b
@ -685,12 +685,13 @@ function makeDeferredPool(size, paused){
|
|||||||
queue: [],
|
queue: [],
|
||||||
size: size,
|
size: size,
|
||||||
|
|
||||||
|
// XXX do we need to hide or expose them and use their API???
|
||||||
_event_handlers: {
|
_event_handlers: {
|
||||||
'deplete': [],
|
deplete: $.Callbacks(),
|
||||||
'progress': [],
|
progress: $.Callbacks(),
|
||||||
'pause': [],
|
pause: $.Callbacks(),
|
||||||
'resume': [],
|
resume: $.Callbacks(),
|
||||||
'fail': []
|
fail: $.Callbacks()
|
||||||
},
|
},
|
||||||
|
|
||||||
_paused: paused,
|
_paused: paused,
|
||||||
@ -718,9 +719,7 @@ function makeDeferredPool(size, paused){
|
|||||||
// prepare to remove self from pool...
|
// prepare to remove self from pool...
|
||||||
var i = pool.indexOf(worker)
|
var i = pool.indexOf(worker)
|
||||||
|
|
||||||
Pool._event_handlers['progress'].forEach(function(func){
|
Pool._event_handlers.progress.fire(pool.length - pool.len(), pool.length + queue.length)
|
||||||
func(pool.length - pool.len(), pool.length + queue.length)
|
|
||||||
})
|
|
||||||
|
|
||||||
// remove self from queue...
|
// remove self from queue...
|
||||||
delete pool[i]
|
delete pool[i]
|
||||||
@ -735,9 +734,7 @@ function makeDeferredPool(size, paused){
|
|||||||
if(that._paused == true){
|
if(that._paused == true){
|
||||||
// if pool is empty fire the pause event...
|
// if pool is empty fire the pause event...
|
||||||
if(pool.len() == 0){
|
if(pool.len() == 0){
|
||||||
Pool._event_handlers['pause'].forEach(function(func){
|
Pool._event_handlers.pause.fire()
|
||||||
func()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -756,18 +753,14 @@ function makeDeferredPool(size, paused){
|
|||||||
// pushed to pool just before it's "compacted"...
|
// pushed to pool just before it's "compacted"...
|
||||||
pool.length = 0
|
pool.length = 0
|
||||||
|
|
||||||
that._event_handlers['deplete'].forEach(function(func){
|
that._event_handlers.deplete.fire(l)
|
||||||
func(l)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// keep the pool full...
|
// keep the pool full...
|
||||||
that._fill()
|
that._fill()
|
||||||
})
|
})
|
||||||
.fail(function(){
|
.fail(function(){
|
||||||
Pool._event_handlers['fail'].forEach(function(func){
|
Pool._event_handlers.fail.fire(pool.length - pool.len(), pool.length + queue.length)
|
||||||
func(pool.length - pool.len(), pool.length + queue.length)
|
|
||||||
})
|
|
||||||
deferred.reject.apply(deferred, arguments)
|
deferred.reject.apply(deferred, arguments)
|
||||||
})
|
})
|
||||||
.progress(function(){
|
.progress(function(){
|
||||||
@ -864,16 +857,16 @@ function makeDeferredPool(size, paused){
|
|||||||
|
|
||||||
// Generic event handlers...
|
// Generic event handlers...
|
||||||
Pool.on = function(evt, handler){
|
Pool.on = function(evt, handler){
|
||||||
this._event_handlers[evt].push(handler)
|
this._event_handlers[evt].add(handler)
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
// NOTE: if this is not given a handler, it will clear all handlers
|
// NOTE: if this is not given a handler, it will clear all handlers
|
||||||
// from the given event...
|
// from the given event...
|
||||||
Pool.off = function(evt, handler){
|
Pool.off = function(evt, handler){
|
||||||
if(handler != null){
|
if(handler != null){
|
||||||
this._event_handlers[evt].splice(this._event_handlers[evt].indexOf(handler), 1)
|
this._event_handlers[evt].remove(handler)
|
||||||
} else {
|
} else {
|
||||||
this._event_handlers[evt] = []
|
this._event_handlers[evt].empty()
|
||||||
}
|
}
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user