小程序开发-11-Promise正确用法与函数签名设计技巧
配置taBar
"tabBar": {
"selectedColor": "#000000",
"backgroundColor": "#ffffff",
"color": "#c7c7c7",
"list": [
{
"selectedIconPath": "/images/tab/classic@highlight.png",
"pagePath": "pages/classic/classic",
"text": "流行",
"iconPath": "/images/tab/classic.png"
},
{
"selectedIconPath": "/images/tab/book@highlight.png",
"pagePath": "pages/book/book",
"text": "书籍",
"iconPath": "/images/tab/book.png"
},
{
"selectedIconPath": "/images/tab/my@highlight.png",
"pagePath": "pages/my/my",
"text": "喜欢",
"iconPath": "/images/tab/my.png"
}
]
}
airbnb 编码规范
可以应用esLint,在github上aribnb的项目里
- 对象简写
var a = 1
//bad
this.setData({
a: a
})
//good
this.setData({
a
})
- 方法简写
method:{
//bad
add: function(){
...
}
//good
add(){
...
}
}
- 能用const尽量不要用let,能用let不要用var
纯粹回调、Promise与async、await
纯粹回调会陷入回调地狱,剥夺函数return的能力
promise 多个异步函数合并,不需要层层传递callback
async await 最佳处理异步方式,小程序不支持
Promise的本质与用法
本质
Promise是一个对象,可以用来保存状态。它的状态有 padding,fulfilled,rejected,状态一点修改就 凝固了。即已成功不能改成已失败,过程也是不可逆的。
用法
//封装微信的request方法
http里的代码
export default class Http{
request(){
return new Promise((resolve,reject)=>{
_request(...);
})
}
_request(url,resolve,reject,data={},method="GET"){
resolve(...);
reject(...)
}
}
//classicModel里调用
import Http from '../utils/http'
class ClassicModel extends Http{
this.request(...).then(res=>{...}).catch(err>{...});
}
小程序开发-11-Promise正确用法与函数签名设计技巧的更多相关文章
- 微信小程序开发——使用promise封装异步请求
前言: 有在学vue的网友问如何封装网络请求,这里以正在写的小程序为例,做一个小程序的请求封装. 关于小程序发起 HTTPS 网络请求的Api,详情可以参考官方文档:wx.request(Object ...
- 微信小程序开发学习资料
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 微信小程序0.11.122100版本新功能解析
微信小程序0.11.122100版本新功能解析 新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方 ...
- 微信小程序开发之模板
一.简介 WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用. 定义模板 使用name属性,作为模板的名字.然后在<template/>内定义代码片段,如 ...
- 微信小程序开发——使用mock数据模拟api请求
前言: 微信小程序开发中,后端提供了接口设计文档,前端可以先mock数据模拟api请求进行开发调试,而且可以根据需要设计mock文件的格式和内容,这样在后端接口开发完成之前,前端可以最大限度的完成前端 ...
- 微信小程序开发总结(一)
微信小程序从2016年9月21日开始内测 ,以及在2017年1月9号正式发布也有一段时间了, 很多人开始拥抱微信小程序,我也是一样 ,从微信小程序内测开始就加入进来 , 开始研究微信小程序 ,属于最早 ...
- 总结微信小程序开发中遇到的坑
总结微信小程序开发中遇到的坑,一些坑你得一个一个的跳啊,/(ㄒoㄒ)/~~ 1,页面跳转和参数传递实例 首先说一下我遇到的需求有一个我的消息页面,里面的数据都是后端返回的,返回的数据大致如下,有一个是 ...
- 13本热门书籍免费送!(Python、SpingBoot、Entity Framework、Ionic、MySQL、深度学习、小程序开发等)
七月第一周,网易云社区联合清华大学出版社为大家送出13本数据分析以及移动开发的书籍(Python.SpingBoot.Entity Framework.Ionic.MySQL.深度学习.小程序开发等) ...
- 微信小程序开发实践
目录 项目是否适合移植到小程序上? 概要介绍 实践得到的经验 规则 小程序不支持的 新特性 小窍门 会话管理 进阶 项目是否适合移植到小程序上? 小程序由于微信提供了一些组件,在微信中的一些体验确实不 ...
随机推荐
- Spring-aop实现切面的四种方式(1)
Spring实现AOP的4种方式 先了解AOP的相关术语:1.通知(Advice):通知定义了切面是什么以及何时使用.描述了切面要完成的工作和何时需要执行这个工作.2.连接点(Joinpoint):程 ...
- python 切片&迭代
Python提供了切片(Slice)操作符L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']取前3个元素>>> L[0:3]['Mich ...
- g++: error: unrecognized command line option ‘-std=C++11’
一个小程序,在编译的时候出错,原来使用的编译命令是 g++ -std=C++11 array.cpp -o array.exe g++: error: unrecognized command lin ...
- C/C++ 标准
正式标准是需要付费的,不过可以在http://open-std.org/上找到标准的草案(和实际标准相差不大但是可以免费获取) 下面列出一下可能会用到的标准草案:C99:http://open-std ...
- sql 获取每个分组的前N条记录的写法
SELECT * FROM ( --根据 tb表的name进行分组,根据年龄排序 SELECT * , ROW_NUMBER() OVER ( PARTITION BY name ORDER BY a ...
- Intellij IDEA快速补全System.out.print : sout
- Mongod启动失败修复方法
可能的原因:上次服务未正常关闭 1.删除data/db目录下的mongo.lock文件 2.删除/tmp/mongodb-27017.sock文件
- html5与html的区别
最近看群里聊天聊得最火热的莫过于手机网站和html5这两个词.可能有人会问,这两者有什么关系呢?随着这移动互联网快速发展的时代,尤其是4G时代已经来临的时刻,加上微软对“XP系统”不提供更新补丁.维护 ...
- android 智能提示
<AutoCompleteTextView android:id="@+id/autoCompleteTextView" android:completionThreshol ...
- luogu P3950 部落冲突
嘟嘟嘟 树剖板子题. #include<cstdio> #include<iostream> #include<algorithm> #include<cma ...