Fix error handling for corrupt MBTiles.

This commit is contained in:
Will White
2011-08-29 18:51:20 -04:00
parent 856c83993c
commit 083c7bb25c

View File

@@ -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);
});
}