diff --git a/lib/mbtiles.js b/lib/mbtiles.js index 93f7c91..0b3bca5 100644 --- a/lib/mbtiles.js +++ b/lib/mbtiles.js @@ -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); }); }