这篇文章主要讲解了“微信小程序中前端promise怎么封装”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序中前端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)
})
}
})
感谢各位的阅读,以上就是“微信小程序中前端promise怎么封装”的内容了,经过本文的学习后,相信大家对微信小程序中前端promise怎么封装这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.xuebuyuan.com/3288912.html