微信小程序前端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)
})
}
})
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。