Skip to content

Commit

Permalink
dont emit 'error', that will raise an actual error if there are no li…
Browse files Browse the repository at this point in the history
…steners. assume the user uses callbacks or the finished event to catch errors
  • Loading branch information
technoweenie committed Mar 5, 2011
1 parent f1ebdcf commit a29e2ac
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 17 deletions.
5 changes: 1 addition & 4 deletions lib/index.js
Expand Up @@ -45,10 +45,7 @@ ChainGang = (function() {
};
ChainGang.prototype.finish = function(job, err) {
this.current -= 1;
this.emit('finished', job.name);
if (err) {
this.emit('error', err, job.name);
}
this.emit('finished', job.name, err);
delete this.index[job.name];
delete job;
if (this.active) {
Expand Down
7 changes: 2 additions & 5 deletions src/index.coffee
Expand Up @@ -60,9 +60,7 @@ class ChainGang extends events.EventEmitter
# Emits ('finished', name)
finish: (job, err) ->
@current -= 1
@emit 'finished', job.name
if err
@emit 'error', err, job.name
@emit 'finished', job.name, err
delete @index[job.name]
delete job

Expand All @@ -84,8 +82,7 @@ class Job
#
# Returns nothing.
# Emits ('starting', name)
# Emits ('error', err, name) if the callback raises an exception.
# Emits ('finished', name) when the job has completed.
# Emits ('finished', name, err) when the job has completed.
perform: ->
@chain.current += 1
@chain.emit 'starting', @name
Expand Down
10 changes: 2 additions & 8 deletions test/error_test.coffee
Expand Up @@ -7,16 +7,11 @@ assert.equal 2, chain.limit

called_finished = false
called_callback = false
called_error = false

chain.on 'finished', (name) ->
assert.equal 'foo', name
called_finished = true

chain.on 'error', (err, name) ->
chain.on 'finished', (name, err) ->
assert.ok err
assert.equal 'foo', name
called_error = true
called_finished = true

chain.add (worker) ->
a.b == c
Expand All @@ -25,5 +20,4 @@ chain.add (worker) ->

process.on 'exit', ->
assert.ok called_finished
assert.ok called_error
assert.equal false, called_callback

0 comments on commit a29e2ac

Please sign in to comment.