db: optimize each().
This commit is contained in:
parent
a02564e0a1
commit
d41f293b40
@ -286,7 +286,7 @@ LowlevelUp.prototype.each = function each(options, handler, callback) {
|
|||||||
|
|
||||||
iter = this.iterator(opt);
|
iter = this.iterator(opt);
|
||||||
|
|
||||||
(function next(err, key) {
|
function next(err, key) {
|
||||||
if (err && typeof err !== 'boolean') {
|
if (err && typeof err !== 'boolean') {
|
||||||
return iter.end(function() {
|
return iter.end(function() {
|
||||||
callback(err);
|
callback(err);
|
||||||
@ -306,25 +306,29 @@ LowlevelUp.prototype.each = function each(options, handler, callback) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
iter.next(function(err, key, value) {
|
iter.next(onNext);
|
||||||
if (err) {
|
}
|
||||||
return iter.end(function() {
|
|
||||||
callback(err);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key === undefined && value === undefined)
|
function onNext(err, key, value) {
|
||||||
return iter.end(callback);
|
if (err) {
|
||||||
|
return iter.end(function() {
|
||||||
|
callback(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
if (key === undefined && value === undefined)
|
||||||
handler(key, value, next, i++);
|
return iter.end(callback);
|
||||||
} catch (e) {
|
|
||||||
return iter.end(function() {
|
try {
|
||||||
callback(e);
|
handler(key, value, next, i++);
|
||||||
});
|
} catch (e) {
|
||||||
}
|
return iter.end(function() {
|
||||||
});
|
callback(e);
|
||||||
})();
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
next();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user