烟台网站建设比较大的,如何搭建英文网站,站长综合查询工具,WordPress 列表如何修改成图片小程序里面多个页面#xff0c;有时候会需要用到同一个接口的数据。而这些数据全局来说只需要拉取一遍#xff0c;如果要存到缓存#xff0c;要怎么保证其他页面取缓存的时候#xff0c;数据已经拉取回来了呢#xff1f;答案是多页面接口数据缓存实现。思路设计其实这种场…小程序里面多个页面有时候会需要用到同一个接口的数据。而这些数据全局来说只需要拉取一遍如果要存到缓存要怎么保证其他页面取缓存的时候数据已经拉取回来了呢答案是多页面接口数据缓存实现。思路设计其实这种场景和实现方式与小程序关系并不大很多常见的应用开发都会遇到。这次刚好在小程序里用到了就顺便做下记录。在这里我们假设需要全局拉取一个用户信息。在涉及异步请求中我们常用的方式是封装成一个Promise方法统一对外返回一个Promise。加锁在请求中不再请求返回缓存的Promise。若已有缓存则返回一个马上resolve的Promise。稍作优化这种情况下我们在一个生命周期中都会只请求一次其他都只会在缓存中获取。我们还可以做些调整将数据写入本地缓存小程序启用的时候获取。提供强制拉取新数据的配置控制这里用needRefresh参数控制。使用上节《小程序的登录与静默续期》封装的request方法来发起请求。我们来更新下代码Tips前面也提到过小程序的设计很大程度上考虑了管控力。在这里为了保证小程序不乱用任意域名的服务wx.request请求的域名需要在小程序管理平台进行配置如果小程序正式版使用wx.request请求未配置的域名在控制台会有相应的报错。参考《小程序网络API》《小程序开发指南》结束语前面我们也提到小程序里面发起请求都会经过 Native 发起。在应用开发实践中对一些原理的掌握很多时候能更多地提升我们解决问题的效率也能对项目整体有更好的认知。文章来源腾讯工程师 王贝珊