uni-app 實現數據存儲、獲取和刪除
一、前言
項目開發過程中,需要實現數據的全局存儲、獲取及刪除操作。為此,閱讀了uni-app官方文檔,發現其已經內置方法實現以上功能。
二、應用示例
注??:如果是同步存儲、獲取、刪除,可以使用setStorageSync()、getStorageSync()、removeStorageSync(),達到的效果是一樣的。
那么,有童鞋會問setStorage()與setStorageSync()都可以存儲全局變量,兩者又有什么區別呢?如何根據不同的應用場景去應用不同方法呢?
首先,官方文檔給出的方法定義如下:
從接口定義可以看出,setStorage()異步接口可以接口調用后回調相關方法,主要是根據業務需求來判定使用哪種方法。
以Sync(同步,同時)結尾的都是都是同步緩存,二者的區別是,異步不會阻塞當前任務,同步緩存直到同步方法處理完才能繼續往下執行。
通俗點說,異步就是不管保沒保存成功,程序都會繼續往下執行。同步是等保存成功了,才會執行下面的代碼。使用異步,性能會更好;而使用同步,數據會更安全。
它們都是將數據存儲在本地緩存指定的key中,單個key最大數據長度為 1MB,所有數據存儲上限為 10MB。
在使用setStorageSync和setStorage時,發現setStorageSync不能傳入對象:
uni.setStorageSync({ key: 'siteMessage', data: provider })
setStorageSync只支持原生類型、Date、及能夠通過JSON.stringify序列化的對象,不能直接傳入對象。否則報錯:
setStorage:fail parameter error: parameter should be String instead of Object;
三、拓展閱讀
《uni-app官方文檔》
移動APP
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。