微信小程序前端promise封装
时间:2019-08-24 09:24:01
收藏:0
阅读:121
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)
})
}
})
若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。
请点赞!因为你们的赞同/鼓励是我写作的最大动力!
欢迎关注达叔小生的简书!
这是一个有质量,有态度的博客
评论(0)