不要怂,就是干,撸起袖子干!

Commit 3afc0a2a by Sascha Depold

pass error of database connection failures

1 parent f1af030a
...@@ -59,11 +59,16 @@ ModelDefinition.prototype.sync = function(options) { ...@@ -59,11 +59,16 @@ ModelDefinition.prototype.sync = function(options) {
var doQuery = function() { var doQuery = function() {
self.query(QueryGenerator.createTableQuery(self.tableName, self.attributes)) self.query(QueryGenerator.createTableQuery(self.tableName, self.attributes))
.on('success', function() { self.emit('success', self) }) .on('success', function() { self.emit('success', self) })
.on('failure', function() { self.emit('failure', self) }) .on('failure', function(err) { self.emit('failure', err) })
} }
if(options.force) this.drop().on('success', function() { doQuery() }) if(options.force) {
else doQuery() this.drop()
.on('success', function() { doQuery() })
.on('failure', function(err) { self.emit('failure', err) })
} else {
doQuery()
}
return this return this
} }
......
...@@ -23,8 +23,15 @@ QueryChainer.prototype.add = function(emitter) { ...@@ -23,8 +23,15 @@ QueryChainer.prototype.add = function(emitter) {
QueryChainer.prototype.observeEmitter = function(emitter) { QueryChainer.prototype.observeEmitter = function(emitter) {
var self = this var self = this
emitter emitter
.on('success', function(){ self.finishedEmits++; self.finish() }) .on('success', function(){
.on('failure', function(err){ self.finishedEmits++; self.fails.push(err); self.finish() }) self.finishedEmits++
self.finish()
})
.on('failure', function(err){
self.finishedEmits++
self.fails.push(err)
self.finish()
})
} }
QueryChainer.prototype.finish = function(result) { QueryChainer.prototype.finish = function(result) {
this.finished = (this.finishedEmits == this.emitters.length) this.finished = (this.finishedEmits == this.emitters.length)
......
...@@ -52,7 +52,7 @@ var instanceMethods = { ...@@ -52,7 +52,7 @@ var instanceMethods = {
chainer chainer
.run() .run()
.on('success', function() { eventEmitter.emit('success', null) }) .on('success', function() { eventEmitter.emit('success', null) })
.on('failure', function() { eventEmitter.emit('failure', null) }) .on('failure', function(err) { eventEmitter.emit('failure', err) })
}) })
return eventEmitter.run() return eventEmitter.run()
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!