上篇文章给大家介绍了使用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内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

promise封装wx.request的方法的更多相关文章

  1. 无法使用参数列表在Swift 2中调用“sendAsynchronousRequest”

    我目前正在重写部分Swift1.2代码,以便与Swift2.0兼容.实际上我无法弄清楚对“sendAsynchronousRequest”做了哪些更改–目前我的所有请求都失败了Cannotinvoke‘sendAsynchronousRequest’withanargumentlistoftype‘(NSURLRequest,queue:NSOperationQueue,completionHan

  2. 详解koa2学习中使用 async 、await、promise解决异步的问题

    这篇文章主要介绍了详解koa2学习中使用 async 、await、promise解决异步的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  3. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  4. 使用 JavaScript Promise 读取 Github 用户数据

    这篇文章主要介绍了使用JavaScript Promise读取Github用户数据,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  5. JSP 中request与response的用法详解

    这篇文章主要介绍了JSP 中request与response的用法详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下

  6. Javascript的异步函数和Promise对象你了解吗

    这篇文章主要为大家详细介绍了Javascript异步函数和Promise对象,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

  7. ES6的Promise用法详解

    本文详细讲解了ES6的Promise用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 万字详解JavaScript手写一个Promise

    这篇文章主要介绍了万字详解JavaScript手写一个Promise,Promise就是一个类,在执行这个类的时候,需要传递一个执行器(回调函数)进去,执行器会立即执行

  9. jQuery中的Deferred和promise 的区别

    这篇文章主要介绍了jQuery中的Deferred和promise 的区别的相关资料,需要的朋友可以参考下

  10. promise封装wx.request的方法

    这篇文章主要介绍了promise封装wx.request的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部