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