WeChat applet front end Promise package

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 => {
//Convert status code toString() into string
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;< br /> }
_show_error() {
wx.showToast({
title:'Network Error',
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< /p>

const app = getApp();
import {MovieModel} from "../../model/movie";
const movieMo del = 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)
})
}
})

If the content of this number is not done properly (for example: involving copyright or other issues), please contact us in time for rectification That is, it will be processed as soon as possible.


please like it! Because your approval/encouragement is the biggest motivation for my writing!

Welcome to follow Da Shu Xiaosheng’s short book!

This is a blog with quality and attitude

blog

Leave a Comment

Your email address will not be published.