indexedDB有一個spec表示您可以同步訪問索引數據庫,但尚未實現。如何同步訪問indexedDB?
我只是想知道是否有辦法讓它手動同步,
我的JavaScript看起來像這樣,
var trans = databaseAsync.transaction(["mapTile"], IDBTransaction.READ_WRITE);
var store = trans.objectStore("mapTile");
var keyRange = IDBKeyRange.bound(evt.data[0], evt.data[0]);
var cursorRequest = store.openCursor(keyRange);
// can you put some kind of wait in here?
cursorRequest.onsuccess = function(e)
{
var result = e.target.result;
if(!!result == false)
{
}
}
所以,你可以把東西在裏面,使其等到的onSuccess方法在繼續之前被調用?
爲什麼我想要做的,這是上面的代碼被包裝這個方法裏面的原因,
dojo.extend(esri.layers.ArcGISTiledMapServiceLayer, {
getTileUrl : function(level, row, col)
{
// blah
return url;
}
所以它是一個ESRI磚層(這將加載瓷磚到地圖我的網頁上)並且該方法需要立即爲特定的tile返回url。它要麼是從,如果它沒有在數據庫緩存已經,或該加載圖像的URL,
data:image;base64,*BASE64DATA*
凡BASE64DATA是從數據庫中的數據,如果以前緩存。
我以前使用localStorage爲此,它同步工作,但有一個5MB的限制,所以我想我會嘗試indexedDB。
請[不要將簽名或標語添加到您的帖子](http://stackoverflow.com/faq#signatures)。 – meagar 2012-08-13 16:04:11