【WePY小程序框架实战四】-使用async&await异步请求数据
async await 是对promise的近一步优化,既解决了promise链式then的这种写法壁垒,又让异步请求更像同步,若对async await不太了解的同学可以直接参考阮一峰老师的文章async 函数的含义和用法,这里我们只关注怎么在小程序wepy架构中如何使用。
依赖库
import 'wepy-async-function'
app.wpy中启用
export default class extends wepy.app { constructor () { super() this.use('promisify'); } }
使用实例
getData(x){ return new Promise((resolve,reject)=>{ setTimeout(()=>{ if(x%2 === 0){ resolve(x) }else{ reject(`${x}是不正确的输入`); } },x*1000) }) } async onLoad() { try{ let data1 = await this.getData(2); console.log(data1); let data2 = await this.getData(1); console.log(data2);//已经异常不再执行 }catch(error){ console.log(error); } }
调用
onLoad() // 以同一时间为基准,2秒后输出2,3秒后输出 1不是正确的输入
getData().then(fun(),fun()
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
朱晔的互联网架构实践心得S1E4:简单好用的监控六兄弟
朱晔的互联网架构实践心得S1E4:简单好用的监控六兄弟 【下载本文PDF进行阅读】 这里所说的六兄弟只指ELK套件(ElasticSearch+Logstash+Kibana)以及TIG套件(Telegraf+InfluxDb+Grafana)。 上图显示了两套独立的体系,ELK和TIG(TIG是我自己编出来的,网上没有类似于ELK这种约定俗成的说法): 这两套体系都由收集器+存储+展示网站构成,青绿色的收集器,蓝绿色的存储,红色的展示网站。 这两套体系都有免费的组件可以使用,安装配置也相对简单(当然公司也要赚钱,他们肯定都主推Cloud版本,一般也不会用Cloud版本,肯定本地部署)。 ELK体系更多用于日志类数据的收集、保存、搜索、查看、报警。 TIG体系更多用于各种Metrics指标类数据的收集、保存、查看、报警。 对于ELK,由于日志数据量往往较大,并且突发日志激增的情况很普遍,写入索引没有这么快,所以一般会引入Kafka之类的消息队列在之前挡一挡。 对于ELK,在进入ES之前数据会有一些过滤解析和额外的报警之类的需求,所以可以使用logstash在之前作为一个汇聚处理层,利...
- 下一篇
浅谈 iOS 开发框架的重要性
背景 最近公司打算开发一个新 IM 通讯的项目, 借着这个机会我觉得自己必须得在框架整体框架搭建上做一下深入研究与反思了。不论是前端,后台,移动端,结合到现实生活中,处处都会涉及到框架的应用,一个初期就设计优良的架构,素容置疑在项目的可维护性,扩展性,健壮性肯定都有很大的提升。所以我们必须要在开发之前在架构上面多下功夫! 对于一个项目来说 架构 一直是个值得关注的大话题, 这里我将其划分为几个部分去思考,设计。 文件目录模块架构, Coding设计模式层面架构 , 网络层框架架构, 数据持久化架构, UIKit层面架构,暂时先以这几个重要的层面去考虑,和设计。我们来依次讨论这几个模块的理解和设计方案。 文件目录模块架构 对于一个项目来说,最直观的设计就是在文件目录结构上,一个好的文件目录结构划分能让我们自己在开发过程中更加快速编写代码,也能让新加入的同事更快速的融入到项目中来,你想一下如果文件目录划分清晰明了,和一个杂乱无章的目录结构,那个阅读起来舒服?其就像一本书的编写排版,读完排序之后读者基本读整本书内容有一个清晰的认识,以及在后面阅读起来随时能通过排序来找到相应的章节. 所以在开...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- Hadoop3单机部署,实现最简伪集群
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池