more work
diff --git a/lib/sync.js b/lib/sync.js index b4a99b6..5f46cfb 100644 --- a/lib/sync.js +++ b/lib/sync.js
@@ -149,9 +149,7 @@ self.emit('error', err); } self.removeAllListeners(); - if (!complete) { - return utils.Promise.reject(err); - } + throw err; }); this.then = function (success, err) {
diff --git a/tests/integration/test.sync.js b/tests/integration/test.sync.js index 0839bb0..716bc57 100644 --- a/tests/integration/test.sync.js +++ b/tests/integration/test.sync.js
@@ -124,7 +124,6 @@ // intentionally throw an error during replication remote.allDocs = function (opts) { - // Chrome shows an "uncaught (in Promise)" error, but it's okay return PouchDB.utils.Promise.reject(new Error('flunking you')); }; @@ -133,6 +132,8 @@ }).then(function () { return new PouchDB.utils.Promise(function (resolve) { db.sync(remote).on('error', resolve); + }).catch(function () { + // avoid annoying chrome warning about uncaught (in promise) }); }).then(function (err) { should.exist(err); @@ -153,7 +154,6 @@ // intentionally throw an error during replication remote.allDocs = function (opts) { - // Chrome shows an "uncaught (in Promise)" error, but it's okay return PouchDB.utils.Promise.reject(new Error('flunking you')); }; @@ -163,6 +163,8 @@ return new PouchDB.utils.Promise(function (resolve) { db.sync(remote, function (err) { resolve(err); + }).catch(function () { + // avoid annoying chrome warning about uncaught (in promise) }); }); }).then(function (err) {