新聞中心
- swan.setStorage
- 方法參數(shù)
- object 參數(shù)說明
- 示例
- 圖片示例
- 代碼示例
- 代碼示例 2:利用本地緩存提前渲染界面
- 錯(cuò)誤碼
- Android
- iOS
- 方法參數(shù)
swan.setStorage
解釋:將數(shù)據(jù)存儲(chǔ)在本地緩存中指定的 key 中,會(huì)覆蓋掉原來該 key 對應(yīng)的內(nèi)容。主動(dòng)刪除歷史小程序,卸載百度 APP ,或在系統(tǒng)中清除百度 APP 的緩存即可清除數(shù)據(jù)。目前單個(gè) key 允許存儲(chǔ)的最大數(shù)據(jù)長度無限制,沒有自動(dòng)清理存儲(chǔ)機(jī)制。storage 上限 10MB ,用戶需主動(dòng)清理,期間數(shù)據(jù)一直可用。

成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括巴楚網(wǎng)站建設(shè)、巴楚網(wǎng)站制作、巴楚網(wǎng)頁制作以及巴楚網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,巴楚網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到巴楚省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Web 態(tài)說明:受瀏覽器限制,Web 態(tài) storage 的容量一般為 5MB ,具體視瀏覽器 localStorage 的容量大小而定。
方法參數(shù)
Object object
object 參數(shù)說明
| 屬性名 | 類型 | 必填 | 默認(rèn)值 | 說明 |
|---|---|---|---|---|
key | String | 是 | 本地緩存中的指定的 key | |
data | Object/String/Number/Array/Boolean | 是 | 需要存儲(chǔ)的內(nèi)容 | |
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) | |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) | |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
示例
跳轉(zhuǎn)編輯工具
在開發(fā)者工具中打開
在 WEB IDE 中打開
掃碼體驗(yàn)
代碼示例
請使用百度APP掃碼
圖片示例
代碼示例
- SWAN
- JS
代碼示例 2:利用本地緩存提前渲染界面
業(yè)務(wù)場景:我們實(shí)現(xiàn)的小程序首頁是展示一堆商品的列表。數(shù)據(jù)渲染的方式一般是在頁面 onLoad 回調(diào)之后通過 swan.request 向服務(wù)器發(fā)起一個(gè)請求去拉取列表數(shù)據(jù),在 success 回調(diào)中把數(shù)據(jù)通過 setData 渲染到界面上,如下代碼所示。
- JS
Page({onLoad() {swan.request({// 僅為示例,并非真實(shí)的接口地址url: 'https://www.baidu.com/xxx',success: res => {if (res.statusCode === 200) {this.setData({list: res.data.list})}}})}})
在請求到數(shù)據(jù)前,我們避免頁面白屏的方式一般是把之前的請求成功請求存在本地緩存里,在 onLoad 發(fā)起請求前,先檢查是否有緩存過列表,如果有的話直接渲染界面,然后等到 swan.request 的 success 回調(diào)之后再覆蓋本地緩存重新渲染新的列表,如下代碼所示。
- JS
Page({onLoad() {let list = swan.getStorageSync('list');if (list) {// 本地如果有緩存列表,提前渲染this.setData({list: list})}swan.request({// 僅為示例,并非真實(shí)的接口地址url: 'https://www.baidu.com/xxx',success: res => {if (res.statusCode === 200) {list = res.data.list;// 再次渲染列表this.setData({list: list})// 覆蓋緩存數(shù)據(jù)swan.setStorageSync("list", list);}}})}})
錯(cuò)誤碼
Android
| 錯(cuò)誤碼 | 說明 |
|---|---|
201 | 解析失敗,請檢查調(diào)起協(xié)議是否合法 |
1001 | 執(zhí)行失敗 |
iOS
| 錯(cuò)誤碼 | 說明 |
|---|---|
202 | 解析失敗,請檢查參數(shù)是否正確 |
1003 | 超過最大存儲(chǔ)文件大小 |
當(dāng)前名稱:創(chuàng)新互聯(lián)百度小程序教程:swan.setStorage
文章分享:http://www.5511xx.com/article/dhoehgi.html


咨詢
建站咨詢
