db: optimize each().

This commit is contained in:
Christopher Jeffrey 2016-09-06 01:57:53 -07:00
parent a02564e0a1
commit d41f293b40
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -286,7 +286,7 @@ LowlevelUp.prototype.each = function each(options, handler, callback) {
iter = this.iterator(opt);
(function next(err, key) {
function next(err, key) {
if (err && typeof err !== 'boolean') {
return iter.end(function() {
callback(err);
@ -306,25 +306,29 @@ LowlevelUp.prototype.each = function each(options, handler, callback) {
}
}
iter.next(function(err, key, value) {
if (err) {
return iter.end(function() {
callback(err);
});
}
iter.next(onNext);
}
if (key === undefined && value === undefined)
return iter.end(callback);
function onNext(err, key, value) {
if (err) {
return iter.end(function() {
callback(err);
});
}
try {
handler(key, value, next, i++);
} catch (e) {
return iter.end(function() {
callback(e);
});
}
});
})();
if (key === undefined && value === undefined)
return iter.end(callback);
try {
handler(key, value, next, i++);
} catch (e) {
return iter.end(function() {
callback(e);
});
}
}
next();
};
/**