zoukankan      html  css  js  c++  java
  • 微信小程序前端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)
        })
      }
    })
    

    若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。


    请点赞!因为你们的赞同/鼓励是我写作的最大动力!

    欢迎关注达叔小生的简书!

    这是一个有质量,有态度的博客

    博客

  • 相关阅读:
    51nod 1416 两点 dfs
    Codeforces Round #424 (Div. 2) A-C
    Codeforces Round #423 (Div. 2) A-C
    Codeforces Round #422 (Div. 2) A-C
    HDU 6077 Time To Get Up 模拟
    51nod 1381 硬币游戏 概率
    51nod 1100 斜率最大 计算几何
    hihocoder 1287 : 数论一·Miller-Rabin质数测试 大质数判定
    字典树
    数论
  • 原文地址:https://www.cnblogs.com/dashucoding/p/11403499.html
Copyright © 2011-2022 走看看