封装uniapp request promise化

打印 上一主题 下一主题

主题 1524|帖子 1524|积分 4572

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、 封装方法

1. 使用 promis 封装 request

  1. const BASE_URL = '你的url接口' //比如  http://198.12.3.3/pz
  2. export function request(config = {}){
  3.         let {
  4.                         url,
  5.                         data = {},
  6.                         method = 'GET',
  7.                         header = {},
  8.                 } = config
  9.                 url = BASE_URL+url
  10.                 header['access-key'] = "您的key值"
  11.                 header['token'] = '您的toekn值'
  12.                 retrun new Promise((resolve, reject) => {
  13.                         uni.request({
  14.                                 url,
  15.                                 data,
  16.                                 method,
  17.                                 header,
  18.                                 success:(res) =>{
  19.                                         if(res.data.errCode === 0){
  20.                                                 resolve(res.data)
  21.                                         }else if(res.data.errCode === 400){
  22.                                                 uni.showModal({
  23.                                                         title:'错误提示',
  24.                                                         content: res.data.errMsg,
  25.                                                         showCancel:false
  26.                                                 })
  27.                                                 resolve(res.data)
  28.                                         }else{
  29.                                                 uni.showToast({
  30.                                                         title:res.data.errMSg,
  31.                                                         icon:'none'
  32.                                                 })
  33.                                 },
  34.                                 fail: (err) =>{
  35.                                         reject(err)
  36.                                 }
  37.                                
  38.                         })
  39.                 )
  40. }
复制代码
2. 封装 api 在 api.js

  1.         import {request} from '@/util/request'
  2.         export function apiGetOrder(data = {}){
  3.                 return request({
  4.                         url:'您要拼接的url' //比如/order/list
  5.                 })
  6.         }
复制代码
3.在要请求的页面 调用 api

  1.                 import {apiGetOrder} from '@/api/api.js'
  2.                 const getOrder = async () =>{
  3.                 let res = await apiGetOrder()
  4.                 orderList.value = res.data
  5.                 console.log(res.data);
  6.         }
复制代码
注意
提供的url 都是虚拟
如有错误请告知
如有侵权请带着截图发邮件
邮箱 1413229255@qq.com

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张国伟

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表