欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信小程序前端promise封装代码实例

程序员文章站 2023-08-13 22:28:45
这篇文章主要介绍了微信小程序前端promise封装代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下...

这篇文章主要介绍了微信小程序前端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)
  })
 }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。