promise封装wx.request的方法

 更新时间:2021年05月08日 10:11:43   作者:郭郭郭牧鑫  
这篇文章主要介绍了promise封装wx.request的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

上篇文章给大家介绍了使用Promise封装小程序wx.request的实现方法,本文重点给大家介绍promise封装wx.request的方法,具体内容如下所示:

为什么要封装wx.request?

因为我们请求接口时,有时候会请求一个接口的多个api,如果没有使用封装,那么我们编写代码会变得繁琐,并且也会导致性能问题。

封装的话,利于我们编写,并且提高用户体验和便于代码的修改。

对于封装的选择为什么使用promise?

当我们进行微信小程序的编写时,写到wx.request的时候,我想大家一定不陌生这种写法,和$.ajax的写法有相似之处。我们对于$.ajax的封装,想必大家并不陌生,这也就不难让我们联想到promise了。并且我们的微信小程序是支持es6语法,那promise就是一个好得封装选择。

该怎么封装wx.request?

我们找好了封装的理由和工具,那接下来就是针对wx.request这个棘手的东西进行封装了,首先在我们的开发工具中创建好文件

我们用一个大的文件夹将其包裹,在将内容分部处理

在这里插入图片描述

首先呢,在我们的fetch.js文件中,我们用promise来对wx.request进行封装:

//promise封装wx.request
    module.exports=(url,data,method)=>{
        //先定义promise
        let promise=new Promise((resolve,reject)=>{
            wx.request({
                url:url,
                data:data,
                method:method,
 
                //成功时执行
                success(res){
                    resolve(res)
                },
 
                //失败时执行
                fail(err){
                    reject(err)
                },
    })
    })
                //将promise推出去
                return promise
    }

然后,在我们的api.js文件中,我们可以将所需要请求的东西都放在这里,方便统一管理:

//接口的管理
module.exports={
    "banner":"/h8/home/multidata"
}

最后,在我们的http.js文件中,将其集中起来使用:

//引入文件
    const api=require("./api")
    const fetch=require("./fetch")
 
//定义路径
    let baseUrl="http://123.207.32.32:8000/api"
 
//导出内容
    function banner(){
        return fetch(baseUrl+api.banner,{},'get')
    }
 
    module.exports={
        banner
    }

封装好以后,我们需在全局app.js中引入才可使用:

  const http=require('./http/http.js')
 
    App({
      http,
    })

在文件中使用:

    //引入app
    const app=getApp()
 
    Page({
      data: {
       list:[]
      }
 
    onLoad: function () {
        app.http.banner().then(res)=>{
            this.setData({
                list:res.data.data.banner.list        
        })
            }
    }

到此这篇关于promise封装wx.request的方法的文章就介绍到这了,更多相关promise封装wx.request内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • js中Function引用类型常见有用的方法和属性详解

    js中Function引用类型常见有用的方法和属性详解

    在本篇文章里小编给大家整理的是关于js中Function引用类型常见有用的方法和属性知识点,有兴趣的朋友们可以学习下。
    2019-12-12
  • ES6入门教程之变量的解构赋值详解

    ES6入门教程之变量的解构赋值详解

    这篇文章主要给大家介绍了关于ES6入门教程之变量的解构赋值的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ES6具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 浅谈js之字面量、对象字面量的访问、关键字in的用法

    浅谈js之字面量、对象字面量的访问、关键字in的用法

    下面小编就为大家带来一篇浅谈js之字面量、对象字面量的访问、关键字in的用法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • JavaScript加载速度优化方法

    JavaScript加载速度优化方法

    通过使用CDN、压缩、异步加载、尽可能的减少JavaScript文件大小、利用缓存机制、使用Vanilla JS、使用ES6特性、将JavaScript文件放到底部、减少对DOM的访问以及避免重复代码等方法,可以优化JavaScript文件的加载和执行速度,提供更好的用户体验和更高的性能
    2023-08-08
  • 微信小程序实现的picker多级联动功能示例

    微信小程序实现的picker多级联动功能示例

    这篇文章主要介绍了微信小程序实现的picker多级联动功能,结合实例形式分析了微信小程序picker组件使用及wx.request后台交互相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • 前端页面文件拖拽上传模块js代码示例

    前端页面文件拖拽上传模块js代码示例

    这篇文章主要为大家详细介绍了前端页面文件拖拽上传模块js代码示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 仿淘宝TAB切换搜索框搜索切换的相关内容

    仿淘宝TAB切换搜索框搜索切换的相关内容

    这是一款仿淘宝TAB切换搜索框,想搜索哪方面的内容就切换到哪一个,非常实用,喜欢的朋友可以看看
    2014-09-09
  • 前端必须掌握的五种常用排序算法总结大全

    前端必须掌握的五种常用排序算法总结大全

    前端开发中掌握排序算法对于数据处理至关重要,本文介绍五种基本排序算法,冒泡排序、选择排序、插入排序、快速排序和归并排序,帮助开发者选择合适的方法优化性能,需要的朋友可以参考下
    2024-10-10
  • js实现飞机大战小游戏

    js实现飞机大战小游戏

    这篇文章主要为大家详细介绍了js实现飞机大战小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • ES6 Symbol数据类型的应用实例分析

    ES6 Symbol数据类型的应用实例分析

    这篇文章主要介绍了ES6 Symbol数据类型的应用,结合实例形式分析了ES6 Symbol数据类型的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-06-06

最新评论