微信小程序前端promise封装代码实例


Posted in Javascript onAugust 24, 2019

这篇文章主要介绍了微信小程序前端promise封装代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

代码如下

config.js

const config = {
   base_url_api : "https://douban.uieee.com/v2/movie/",
}

export {config}

http.js

import { config } from "../config";
class HTTP {
  requset({ url, method = "GET", data = {} }) {
    const promise = new Promise((resolve, reject) => {
      wx.request({
        url: config.base_url_api + url,
        data,
        method,
        header: {
          'Content-Type': 'json'
        },
        success: res => {
          //状态码 toString() 转成字符串
          const statusCode = res.statusCode.toString();

          if (statusCode.startsWith("2")) {
            resolve(res.data)
          } else {
            this._show_error();
          }
        },
        fail: res => {
          reject(err);
          this._show_error();
        }
      })
    })
    return promise;
  }
  _show_error() {
    wx.showToast({
      title: '网络错误',
      icon: 'none'
    })
  }
}
export { HTTP }

model/movie.js

import {HTTP} from "../utils/http";
class MovieModel extends HTTP{
  getInTheaters(){
    return this.requset({
      url:"in_theaters"
    })
  }
  getTop250(){
    return this.requset({
      url:"top250"
    })
  }
  getComingSoon(){
    return this.requset({
      url:"coming_soon"
    })
  }
}
export {MovieModel};

pages/index/index.js

const app = getApp();
import {MovieModel} from "../../model/movie";
const movieModel = new MovieModel();
Page({
 onLoad(){
  // movieModel.getInTheaters().then(res=>{
  //  console.log(res)
  // })
  const inTheaters = movieModel.getInTheaters()
  const top250 = movieModel.getTop250();
  const comingSoon = movieModel.getComingSoon();
  Promise.all([inTheaters,top250,comingSoon]).then(res=>{
   let[inTheaters,top250,comingSoon] = res;
   console.log(inTheaters)
  })
 }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
网页设计常用的一些技巧
Dec 22 Javascript
Jquery上传插件 uploadify v3.1使用说明
Jun 18 Javascript
css transform 3D幻灯片特效实现步骤解读
Mar 27 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
Feb 12 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
Jan 13 Javascript
详解各版本React路由的跳转的方法
May 10 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
May 22 Javascript
使用angularjs.foreach时return的问题解决
Sep 30 Javascript
学习LayUI时自研的表单参数校验框架案例分析
Jul 29 Javascript
mui js控制开关状态、修改switch开关的值方法
Sep 03 Javascript
Vue.js数字输入框组件使用方法详解
Oct 19 Javascript
JS错误处理与调试操作实例分析
Apr 13 Javascript
node获取客户端ip功能简单示例
Aug 24 #Javascript
js针对图片加载失败的处理方法分析
Aug 24 #Javascript
js prototype和__proto__的关系是什么
Aug 23 #Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
Aug 23 #Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
Aug 23 #Javascript
微信小程序swiper禁止用户手动滑动代码实例
Aug 23 #Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
Aug 23 #Javascript
You might like
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
javascript 避免闭包引发的问题
2009/03/17 Javascript
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
2014/03/25 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
webpack4实现不同的导出类型
2019/04/09 Javascript
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
python中二维阵列的变换实例
2014/10/09 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
python处理数据,存进hive表的方法
2018/07/04 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
pytorch 输出中间层特征的实例
2019/08/17 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
TensorFlow固化模型的实现操作
2020/05/26 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
丧事主持词大全
2014/04/02 职场文书
产假请假条
2014/04/10 职场文书
品质口号大全
2014/06/17 职场文书
公司离职证明标准样本
2014/10/05 职场文书
民主生活会汇报材料
2014/12/15 职场文书