微信小程序前端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 相关文章推荐
JavaScript数组常用方法
Mar 02 Javascript
javascript实现框架高度随内容改变的方法
Jul 23 Javascript
简单的JS时钟实例讲解
Jan 13 Javascript
简单实现的JQuery文本框水印插件
Jun 14 Javascript
JavaScript实现256色转灰度图
Feb 22 Javascript
vuejs2.0实现一个简单的分页示例
Feb 22 Javascript
详解vue项目构建与实战
Jun 27 Javascript
详解webpack分包及异步加载套路
Jun 29 Javascript
vue-resouce设置请求头的三种方法
Sep 12 Javascript
vue实现鼠标移过出现下拉二级菜单功能
Dec 12 Javascript
原生JavaScript实现拖动校验功能
Sep 29 Javascript
插件导致ECharts被全量引入的坑示例解析
Sep 23 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
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
PHP中浮点数计算比较及取整不准确的解决方法
2015/01/09 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
2018/03/12 PHP
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
2012/03/16 Javascript
jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
2016/02/25 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单的实现代码
2016/06/23 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
canvas实现钟表效果
2017/02/13 Javascript
JavaScript变量类型以及变量作用域详解
2017/08/14 Javascript
webpack 插件html-webpack-plugin的具体使用
2018/04/09 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
vue用ant design中table表格,点击某行时触发的事件操作
2020/10/28 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
Python页面加载的等待方式总结
2021/02/28 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
美国汽配连锁巨头Pep Boys官网:轮胎更换、汽车维修服务和汽车零部件
2017/01/14 全球购物
Meli Melo官网:名媛们钟爱的英国奢侈手包品牌
2017/04/17 全球购物
过滤器的用法
2013/10/08 面试题
农行实习自我鉴定
2013/09/22 职场文书
医药营销个人求职信范文
2014/02/07 职场文书
三分钟演讲稿事例
2014/03/03 职场文书
四年级小学生评语
2014/12/26 职场文书
答辩状格式范本
2015/05/22 职场文书
教师研修随笔感言
2015/11/18 职场文书
2016学校先进党组织事迹材料
2016/02/29 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书
解决python3安装pandas出错的问题
2021/05/20 Python
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS