DizinlenmişDB'nin, bir dizinli veritabanına senkronize erişebildiğinizi söyleyen bir spec vardır, ancak henüz uygulanmadı.DizinlenmişDB'ye nasıl senkronize olarak erişebilirim?
elle senkron yapmak için bir yol olup olmadığını sadece merak,
JavaScript'im şöyle,
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)
{
}
}
Yani onu onSuccess kadar beklemek yapmak için oraya bir şey koyabilirsiniz devam etmeden önce yöntem çağrıldı?
bu yukarıda bu yöntem içinde sarılır koddur yapmak istiyorum sebebi,
dojo.extend(esri.layers.ArcGISTiledMapServiceLayer, {
getTileUrl : function(level, row, col)
{
// blah
return url;
}
Yani, (benim web sayfasında bir harita üzerine fayans yükleyecektir) bir ESRI kiremit tabakasıdır ve bu yöntemin belirli bir karo için doğrudan URL'yi geri göndermesi gerekir. Zaten veritabanında önbelleğe veya bu değilse görüntüyü yüklemek için bir URL olacak, ya daha önce önbelleğe eğer BASE64DATA veritabanından verileri
data:image;base64,*BASE64DATA*
.
Daha önce bunun için localStorage kullanıyordum. Bu, eşzamanlı olarak çalışıyor ancak 5 MB'lık bir sınırı var, bu yüzden indexedDB ile deneylerim olacağını düşündüm.
Lütfen [gönderilerinize imza veya slogan eklemeyin] (http://stackoverflow.com/faq#signatures). – meagar