目前,我不知道這是一個Dojo問題,瀏覽器問題,或兩者兼而有之。dojo jsonrest商店與週期性沒有互聯網連接
我有項的dojo.store.JsonRest數據存儲:
//Create stores
var json = new JsonRest(options);
//Memory store
var memory = Observable(new Memory({}));
//Observable cache
var cache = new Cache(json, memory);
物品的商店可以與同時不同用戶共享,所以店裏被週期性地通過發出類似更新:
store.query({..})
當我想要一個新的項目添加到它,我用
dojo.xhr('POST',{
url:...,
postData:...,
handleAs:'json',
headers:{...},
failOk:true,
timeout:15*1000
});
該作品精細。但是,我想優雅地處理在丟失互聯網連接期間發生帖子的情況。特別是,我不希望商店在連接重新建立時自動嘗試再次發佈;我希望用戶手動重試。
在Chrome中,看起來POST已中止,並且無論以後再次建立Internet連接,POST中的延遲對象似乎都被丟棄,並且新項目永遠不會添加到數據存儲。
在Firefox中,看起來POST被中止。但是當數據存儲刷新時,例如通過調用:
store.query({...})
然後將新項目(其POST已中止)添加到商店。就好像query()調用正在悄悄地將新項目添加到數據存儲中,當再次建立Internet連接時。
我沒有在Chrome中觀察到這種行爲。爲了在不同的瀏覽器上獲得統一的行爲,我想知道是否有辦法確保一旦POST被中止,它的存在和內存在Firefox中完全消失。