企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## HTTP封装 ### 定义全局url config.js ``` const config = { base_url_api:"https://douban.uieee.com/v2/movie/" } export {config} ``` ### Class封装 引入config中的地址 ``` import { config } from "../config"; ``` 自定义类HTTP ``` class HTTP { request({url,method="GET",data={}}) { const promise = new Promise((resolve, reject) => { ``` >调用request方法,用{ }代替param对象申明url、默认method、初始data 声明一个Promise对象,异步解决回调地狱 发送http请求 ``` wx.request({ url: config.base_url_api + url, data, method, header: { 'Content-Type': 'json', }, ``` >在此例中获取豆瓣接口的数据,故 'Content-Type': 'json', 请求成功 ``` success: res=> { const statusCode = res.statusCode.toString(); if (statusCode.startsWith("2")) { resolve(res.data); } else { this._show_error(); } ``` >404这类请求失败和正常请求成功均可进入success 获取请求状态码(数字型),使用toString()方法将其转换成字符 以便使用startsWith方法来判断其是否以2开头,即真正的请求成功 请求失败 ``` }, fail: err=> { reject(err); this._show_error(); } }) }) return promise; } _show_error() { wx.showToast({ title: '网络错误', icon: 'none' }) } } ``` >调用promise自带方法reject,并显示错误 ``` export { HTTP }; ``` >向外暴露封装好的HTTP类