微信小程序前端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 相关文章推荐
js change,propertychange,input事件小议
Dec 20 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
Feb 07 Javascript
jquery插件制作 图片走廊 gallery
Aug 17 Javascript
js中opener与parent的区别详细解析
Jan 14 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
May 14 Javascript
js实现类似菜单风格的TAB选项卡效果代码
Aug 28 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
Dec 30 Javascript
基于jQuery实现美观且实用的倒计时实例代码
Dec 30 Javascript
简介AngularJS中$http服务的用法
Feb 06 Javascript
d3.js入门教程之数据绑定详解
Apr 28 Javascript
vue iview实现动态路由和权限验证功能
Apr 17 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
May 26 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
《魔兽争霸3:重制版》更新 多项视觉效果调整
2020/05/04 魔兽争霸
一个PHP+MSSQL分页的例子
2006/10/09 PHP
php mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
yii2实现分页,带搜索的分页功能示例
2017/01/07 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
Lazy Load 延迟加载图片的jQuery插件中文使用文档
2012/10/18 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
Ionic项目中Native Camera的使用方法
2017/06/07 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
2017/06/13 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
vue项目实战总结篇
2018/02/11 Javascript
express框架下使用session的方法
2019/07/31 Javascript
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
p5.js码绘“跳动的小正方形”的实现代码
2019/10/22 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python3匿名函数用法示例
2018/07/25 Python
python快速编写单行注释多行注释的方法
2019/07/31 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
Whistles官网:英国女装品牌
2020/08/14 全球购物
北京振戎融通Java面试题
2015/09/03 面试题
建议书的格式
2014/05/12 职场文书