Fix error handling for corrupt MBTiles.
This commit is contained in:
@@ -58,10 +58,10 @@ function MBTiles(uri, callback) {
|
||||
}
|
||||
|
||||
var mbtiles = cache[key];
|
||||
if (!mbtiles.open) {
|
||||
if (!mbtiles.open && !mbtiles.error) {
|
||||
mbtiles.once('open', callback);
|
||||
} else {
|
||||
callback(null, mbtiles);
|
||||
callback(mbtiles.error || null, mbtiles);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
@@ -74,6 +74,7 @@ MBTiles.prototype._open = function(uri) {
|
||||
var mbtiles = this;
|
||||
function error(err) {
|
||||
process.nextTick(function() {
|
||||
mbtiles.error = err;
|
||||
mbtiles.emit('open', err);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user