缓存promise技术不错哦
2024-09-05 09:18:18
1、 pageManager.js
const promiseList = {};
module.exports = {
putData: function(pageName,data){
promiseList[pageName] = data;
},
getData: function(pageName)
{
return promiseList[pageName];
}
}
2、 util
const fPromise = fn => obj =>{
return new Promise((resolve,reject)=>{
obj.complete = obj.success = res=>{
resolve(res)
}
obj.fail = err =>{
reject(err)
}
fn(obj);
})
} module.exports = {
fPromise
}
3、使用 小程序跳转之前先请求数据,加快跳转页的数据加载速度。
起始页:
onNavigate: function(){
const that = this;
const promiseBoos = fPromise(wx.request)({
url:'https://'
}).then(function(res){
return res.data;
});
},
gotoPageC: function(){
this.onNavigate();
wx.navigateTo({url:'..pageC/index'});
}
跳转页:
onLoad: function(){ const bookPromise = pageManager.getData('getBooks');
if (bookPromise)
{
const resData = bookPromise.then(
function(data)
{
console.log(“需要渲染的数据是:”,data):
},
function(){
console.log("初始化失败”);
}
)
}
}
最新文章
- 微信公众帐号开发-消息创建时间long型与标准时间的互相转换
- LeetCode:Multiply Strings
- 【SpringMVC】SpringMVC系列6之@CookieValue 映射请求Cookie 值
- Apache Spark源码走读之12 -- Hive on Spark运行环境搭建
- linux 系统 tar 的用法详解
- bzoj1863: [Zjoi2006]trouble 皇帝的烦恼
- 开源侧滑菜单SlidingMenu主要方法介绍
- 访问 HTML中元素的方法
- Mac OS X Mavericks使用手册
- [重磅] 让HTML5达到原生的体验 系列之中的一个 避免切页白屏
- java面试题系列11
- SZU:J38 Number Base Conversion
- Maven parent.relativePath
- js-事件以及window操作
- Requires: libc.so.6(GLIBC_2.14)(64bit)
- 第十一节、Harris角点检测原理(附源码)
- ionic2 (真正)修改应用图标和启动画面
- python摸爬滚打之day26----网络编程之socket
- Hadoop---静动态增删节点
- Brain Rules: 12 Principles for Surviving and Thriving at Work, Home, and School
热门文章
- 使用type在对象方法中调用类方法
- mysql 全量备份以及增量备份
- EDM邮件营销真的落伍了吗?
- sqlalchemy.exc.InvalidRequestError: Table 'run_result' is already defined for this MetaData instance
- Python学习之==>;Excel操作
- C# sqlite 无法识别的datetime格式 FromOADate
- Linux mysql ERROR 1045 解决
- 关于Laravel Gate 和 Policies 的理解
- redis在ubuntu下的安装
- Marked Ancestor