码迷,mamicode.com
首页 > 微信 > 详细

小程序开发-11-Promise正确用法与函数签名设计技巧

时间:2019-03-10 13:35:29      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:函数   path   合并   代码   程序   小程序开发   lin   ons   rom   

配置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正确用法与函数签名设计技巧

标签:函数   path   合并   代码   程序   小程序开发   lin   ons   rom   

原文地址:https://www.cnblogs.com/TomAndJerry/p/10504931.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!