小程序ajax封装
使用Promise的方法封装ajax请求
// 发送ajax请求 /* * 1. 封装功能函数 * 1. 功能点明确 * 2. 函数内部应该保留固定代码(静态的) * 3. 将动态的数据抽取成形参,由使用者根据自身的情况动态的传入实参 * 4. 一个良好的功能函数应该设置形参的默认值(ES6的形参默认值) * 2. 封装功能组件 * 1. 功能点明确 * 2. 组件内部保留静态的代码 * 3. 将动态的数据抽取成props参数,由使用者根据自身的情况以标签属性的形式动态传入props数据 * 4. 一个良好的组件应该设置组件的必要性及数据类型 * props: { * msg: { * required: true, * default: 默认值, * type: String * } * } * * */ import config from './config' export default (url, data={}, method='GET') => { return new Promise((resolve, reject) => { // 1. new Promise初始化promise实例的状态为pending wx.request({ url: config.host + url, data, method, header: { cookie: wx.getStorageSync('cookies')?wx.getStorageSync('cookies').find(item => item.indexOf('MUSIC_U') !== -1):'' }, success: (res) => { // console.log('请求成功: ', res); if(data.isLogin){// 登录请求 // 将用户的cookie存入至本地 wx.setStorage({ key: 'cookies', data: res.cookies }) } resolve(res.data); // resolve修改promise的状态为成功状态resolved }, fail: (err) => { // console.log('请求失败: ', err); reject(err); // reject修改promise的状态为失败状态 rejected } }) }) }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!