zoukankan      html  css  js  c++  java
  • 小程序开发-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>{...});
    }
    
  • 相关阅读:
    Linux中more命令的实现
    hdu1392 Surround the Trees 凸包
    陈耀烨必将开启属于自己的围棋时代
    此文胜过听三年的培训课
    [置顶] 【持续更新中】推荐工具包
    【读书笔记】《未来闪影》罗伯特·J·索耶
    Redis util
    591
    多线程
    [Usaco2008 Feb]Meteor Shower流星雨
  • 原文地址:https://www.cnblogs.com/TomAndJerry/p/10504931.html
Copyright © 2011-2022 走看看