首页 > 编程 > JavaScript > 正文

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

2019-11-19 10:59:09
字体:
来源:转载
供稿:网友

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表