小程序中网络请求的封装
小程序中发送网络请求的API:wx:request(),基本用法:
wx.request({ url: '请求地址', success:(res)=>{ //请求成功时执行 console.log(res); } })
传参的用法:
wx.request({ url: '请求地址', data: { //参数 }, success: (res) => { console.log(res); } })
在发送网络请求时需要多次使用wx:request发送网络请求,使得代码冗余,并且不利于后期维护,如果有嵌套调动会出现回调地狱,所以将其进行封装
方法一:封装成函数
export function request(options){ return new Promise((resolve, reject) => { wx.request({ ...options, success: (res) => { resolve(res.data) }, fail: reject }) }) }
调用封装函数发送网络请求
import { request } from 'xxxx' request({ url: "请求地址" }).then((res)=>{ console.log(res); })
异步方法
async getAllData(){ const res= await request({ url: "请求地址" }) // 设置值 this.setData({ allData: res.data }) }
方法二:封装成类
class Request{ constructor(baseURL){ this.baseURL = baseURL } request(options){ const { url } = options return new Promise((resolve,reject) => { wx.request({ ...options, url: this.baseURL + url, success: (res) => { resolve(res) }, fail: reject }) }) } get(options){ return this.request({...options,method: 'get'}) } post(options){ return this.request({...options,method: 'post'}) } }
导出类
export const requestInstance = new Request("baseURL")
使用类发送网络请求
import { requestInstance } from 'xxxx'
requestInstance.get({ url: "去除baseURL的部分路由" }).then((res) => { console.log(res); }) //带参数的请求 requestInstance.get({ url: "去除baseURL的部分路由", data: { //参数 } }).then((res) => { console.log(res); })
本文来自博客园,作者:jxweber,转载请注明原文链接:https://www.cnblogs.com/jxweber/p/16670806.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理