lowlevelup: each.
This commit is contained in:
parent
e503b7ecad
commit
17b176141e
@ -278,10 +278,19 @@ LowlevelUp.prototype.each = function each(options, handler, callback) {
|
||||
|
||||
iter = this.iterator(opt);
|
||||
|
||||
(function next(stop) {
|
||||
if (stop === true)
|
||||
(function next(err, key) {
|
||||
if (err && typeof err !== 'boolean') {
|
||||
return iter.end(function() {
|
||||
callback(err);
|
||||
});
|
||||
}
|
||||
|
||||
if (err === false)
|
||||
return iter.end(callback);
|
||||
|
||||
if (err === true)
|
||||
iter.seek(key);
|
||||
|
||||
iter.next(function(err, key, value) {
|
||||
if (err) {
|
||||
return iter.end(function() {
|
||||
@ -292,7 +301,13 @@ LowlevelUp.prototype.each = function each(options, handler, callback) {
|
||||
if (key === undefined)
|
||||
return iter.end(callback);
|
||||
|
||||
handler(key, value, next, i++);
|
||||
try {
|
||||
handler(key, value, next, i++);
|
||||
} catch (e) {
|
||||
return iter.end(function() {
|
||||
callback(e);
|
||||
});
|
||||
}
|
||||
});
|
||||
})();
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user