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

时间:2021-05-18

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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章