微信小程序前端promise封装代码实例
这篇文章主要介绍了微信小程序前端promise封装代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
代码如下
config.js
constconfig={ base_url_api:"https://douban.uieee.com/v2/movie/", } export{config}
http.js
import{config}from"../config"; classHTTP{ requset({url,method="GET",data={}}){ constpromise=newPromise((resolve,reject)=>{ wx.request({ url:config.base_url_api+url, data, method, header:{ 'Content-Type':'json' }, success:res=>{ //状态码toString()转成字符串 conststatusCode=res.statusCode.toString(); if(statusCode.startsWith("2")){ resolve(res.data) }else{ this._show_error(); } }, fail:res=>{ reject(err); this._show_error(); } }) }) returnpromise; } _show_error(){ wx.showToast({ title:'网络错误', icon:'none' }) } } export{HTTP}
model/movie.js
import{HTTP}from"../utils/http"; classMovieModelextendsHTTP{ getInTheaters(){ returnthis.requset({ url:"in_theaters" }) } getTop250(){ returnthis.requset({ url:"top250" }) } getComingSoon(){ returnthis.requset({ url:"coming_soon" }) } } export{MovieModel};
pages/index/index.js
constapp=getApp(); import{MovieModel}from"../../model/movie"; constmovieModel=newMovieModel(); Page({ onLoad(){ //movieModel.getInTheaters().then(res=>{ //console.log(res) //}) constinTheaters=movieModel.getInTheaters() consttop250=movieModel.getTop250(); constcomingSoon=movieModel.getComingSoon(); Promise.all([inTheaters,top250,comingSoon]).then(res=>{ let[inTheaters,top250,comingSoon]=res; console.log(inTheaters) }) } })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。