微信小程序前端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) }) } })
若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。
请点赞!因为你们的赞同/鼓励是我写作的最大动力!
欢迎关注达叔小生的简书!
这是一个有质量,有态度的博客
相关推荐
nmgxzm00 2020-11-10
xixixi 2020-11-11
88254251 2020-11-01
MarukoMa 2020-09-02
88234852 2020-09-15
陈旭阳 2020-08-31
whynotgonow 2020-08-19
前端开发Kingcean 2020-07-30
whynotgonow 2020-07-29
bowean 2020-07-08
前端开发Kingcean 2020-07-08
88520191 2020-07-05
前端开发Kingcean 2020-06-27
88481456 2020-06-18
whynotgonow 2020-06-16
88520191 2020-06-13
88520191 2020-06-13
89500297 2020-06-13