微信小程序前端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 相关文章推荐
Flash对联广告的关闭按钮讨论
Jan 30 Javascript
JavaScript入门教程(10) 认识其他对象
Jan 31 Javascript
JS打印gridview实现原理及代码
Feb 05 Javascript
用jquery模仿的a的title属性的例子
Oct 22 Javascript
JavaScript中检查对象property的存在性方法介绍
Dec 30 Javascript
JS实现左右无缝轮播图代码
May 01 Javascript
轻松理解Javascript变量的相关问题
Jan 20 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
Jun 12 Javascript
利用node.js实现反向代理的方法详解
Jul 24 Javascript
基于vue 实现token验证的实例代码
Dec 14 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
Aug 07 Javascript
JS异步执行结果获取的3种解决方式
Feb 19 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
Yii操作数据库的3种方法
2014/03/11 PHP
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
php中Socket创建与监听实现方法
2015/01/05 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
如何使用angularJs
2017/05/08 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
vue一步步实现alert功能
2017/07/05 Javascript
vue实现图书管理demo详解
2017/10/17 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
盘点提高 Python 代码效率的方法
2014/07/03 Python
深入理解Python中的内置常量
2017/05/20 Python
对Python中type打开文件的方式介绍
2018/04/28 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
python中几种自动微分库解析
2019/08/29 Python
parser.add_argument中的action使用
2020/04/20 Python
python3爬虫中多线程进行解锁操作实例
2020/11/25 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
德国购买健身器材:AsVIVA
2017/08/09 全球购物
eBay荷兰购物网站:eBay.nl
2020/06/26 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python