微信小程序前端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 !!的作用
Dec 04 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
Aug 14 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
May 03 Javascript
JQuery中属性过滤选择器用法实例分析
May 18 Javascript
数据结构中的各种排序方法小结(JS实现)
Jul 23 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
Sep 04 Javascript
详解Vue.js入门环境搭建
Mar 17 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
Mar 24 jQuery
AngularJS全局警告框实现方法示例
May 18 Javascript
JS轮播图实现简单代码
Feb 19 Javascript
基于Vue实现拖拽效果
Apr 27 Javascript
vue element table中自定义一些input的验证操作
Jul 18 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
php格式化日期实例分析
2014/11/12 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
php组合排序简单实现方法
2016/10/15 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
JavaScript之事件委托实例(附原生js和jQuery代码)
2017/07/22 jQuery
通过jQuery学习js类型判断的技巧
2019/05/27 jQuery
Node爬取大批量文件的方法示例
2019/06/28 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
Python httplib,smtplib使用方法
2008/09/06 Python
python 队列详解及实例代码
2016/10/18 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
Python代码块批量添加Tab缩进的方法
2018/06/25 Python
python爬取微信公众号文章的方法
2019/02/26 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
中学家长会邀请函
2014/02/03 职场文书
志愿者活动总结报告
2014/06/27 职场文书
机关工会工作总结2015
2015/05/26 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
Python创建SQL数据库流程逐步讲解
2022/09/23 Python