uni-app封装异步请求

为什么要封装

  1. 原生的请求不支持promise
  2. uni-app的请求不能够方便的添加请求中效果
  3. uni-app的请求返回值是个数组,不方便

封装思路

  1. 基于原生的promise来封装
  2. 挂载到Vue原型上
  3. 通过this.request的方式来使用

新建http.js
代码:

//es6
export default (params) => {
    return new Promise((resolve, reject) => {
        //loading  效果    数据请求加载中效果
        uni.showLoading({
            title: "加载中"
        })


        wx.request({
            ...params,
            success(res) {
                resolve(res)
            },
            fail(err) {
                reject(err)
            },
            complete() {
                //不管请求成没成功都会走这一步  然后隐藏  加载中的效果
                uni.hideLoading()
            }
        })
    })
}

挂载Vue原型

在main.js中添加:

import http from "./utils/http";
Vue.prototype.http=http

使用

onLong(){
	this.http({
	url:"请求地址"
}).then(req=>{
	console.log(req)
})
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值