我有一個使用angular和JS-Data的離子應用程序,當在移動設備上運行時應該從下載的JSON文件加載數據。
我將這些文件與www文件夾中的應用程序綁定在一起,並根據設備的類型複製到相關的存儲文件夾中。一旦文件被複制,如果有互聯網連接,應用程序會嘗試從CDN獲取最新數據,將新數據保存在JSON文件中,並將新數據從JSON文件讀取到JS-Data中用戶會看到新的數據。
除保存文件之後的位以及用戶顯示新數據之外,這些全部工作,它們都顯示舊的緩存數據。在保存到文件之前註銷數據顯示正確的數據,並使用$ cordovaFile加載文件顯示正確的數據,文件路徑正確,所有調試指向JS-Data第二次正確讀取數據。Angular JS數據從本地文件加載數據
appData
.loadData (basePath)
.then (() => {
assetsFactory
.backgroundUpdate()
.then (basePath => appData.loadData (basePath, true))
})
其中基本路徑是絕對鏈接到文件存儲在文件夾中,然後在loadData功能
appData.loadData = (basePath, bypassCache) => $q ((resolve, reject) => {
if (bypassCache === undefined) {
bypassCache = false
}
let options = {
basePath,
bypassCache,
cacheResponse : true,
}
....
Area.findAll ({}, options)
.then (areas => {
console.log (areas)
})
....
})
的console.log(區)顯示從該文件的舊數據,但使用上面的確切代碼,如果我更改basePath變量以獲得新的遠程數據的鏈接,則console.log(areas)將顯示新的更新數據。
任何想法我做錯了,我不繞過緩存?