微信小程序前端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事件问题
Sep 05 Javascript
javascript:;与javascript:void(0)使用介绍
Jun 05 Javascript
利用js制作html table分页示例(js实现分页)
Apr 25 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 Javascript
Javascript实现获取窗口的大小和位置代码分享
Dec 04 Javascript
学习jQuey中的return false
Dec 18 Javascript
jQuery validate验证插件使用详解
May 11 Javascript
基于JS实现网页中的选项卡(两种方法)
Jun 16 Javascript
Angularjs使用过滤器完成排序功能
Sep 20 Javascript
详解easyui基于 layui.laydate日期扩展组件
Jul 18 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
Nov 05 Javascript
详解基于 Node.js 的轻量级云函数功能实现
Jul 08 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
php过滤XSS攻击的函数
2013/11/12 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
2014/10/22 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
详解Vue整合axios的实例代码
2017/06/21 Javascript
Vue 进入/离开动画效果
2017/12/26 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
python快速排序代码实例
2013/11/21 Python
python用字典统计单词或汉字词个数示例
2014/04/22 Python
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
Django多进程滚动日志问题解决方案
2019/12/17 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
《争吵》教学反思
2014/02/15 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
内科护士节演讲稿
2014/09/11 职场文书
学习退步检讨书
2014/09/28 职场文书
2014年就业工作总结
2014/11/26 职场文书
诚信教育主题班会
2015/08/13 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
2021/06/11 Python
Python实现DBSCAN聚类算法并样例测试
2021/06/22 Python
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers