本地测试uniApp,获取不到数据,返回promise走reject

错误原因:

如果是本地服务器测试请求公共url千万不能写https,要写http

UNIapp 中,可以使用本地存储技术来保存字典数据,避免每次请求接口。UNIapp 提供了两种本地存储方式:本地存储和缓存。其中本地存储可以使用 uni.setStorageSync 和 uni.getStorageSync 方法来实现,缓存可以使用 uni.setStorage 和 uni.getStorage 方法来实现。 具体实现方法如下: 1. 在请求接口时,先判断本地是否已经有了字典数据,如果有,则直接使用本地缓存数据;如果没有,则请求接口获取数据,并将数据保存到本地缓存。 2. 在需要使用字典数据的地方,先从本地缓存中获取数据,如果本地缓存中没有数据,则再请求接口获取数据,并将数据保存到本地缓存。 示例代码如下: ```javascript // 请求接口获取字典数据 function getDictionaryData() { return new Promise((resolve, reject) => { // 发送请求获取字典数据 uni.request({ url: 'http://xxx.xxx.xxx/dictionaries', success: res => { // 将数据保存到本地缓存 uni.setStorageSync('dictionaryData', res.data); resolve(res.data); }, fail: err => { reject(err); } }); }); } // 获取字典数据 function getDictionary() { // 先从本地缓存中获取数据 let dictionaryData = uni.getStorageSync('dictionaryData'); if (dictionaryData) { return Promise.resolve(dictionaryData); } else { // 如果本地缓存中没有数据,则请求接口获取数据,并将数据保存到本地缓存 return getDictionaryData(); } } // 使用字典数据 function useDictionary() { getDictionary().then(data => { // 使用字典数据 console.log(data); }).catch(err => { console.log(err); }); } ``` 在上面的示例代码中,通过封装一个 getDictionary 方法来获取字典数据。在该方法中,先从本地缓存中获取数据,如果本地缓存中没有数据,则请求接口获取数据,并将数据保存到本地缓存。在使用字典数据时,只需要调用 useDictionary 方法即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值