封装小程序request请求[接口函数]

这篇具有很好参考价值的文章主要介绍了封装小程序request请求[接口函数]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小程序封装接口,微信小程序相关,微信小程序,小程序,封装接口,wx.request

         在这篇小程序API的Promise化文章中讲到小程序官方提供的异步API都是基于回调函数来实现的,在大量的使用这种回调函数就会造成回调地狱的问题,以及代码的可读性和可维护性差,通过对小程序API的Promise化能解决,那么本篇是来讲进行对微信小程序网络数据请求的接口请求封装。

封装小程序 request 请求

        在 /utils 目录下创建 request.js 文件进行小程序request请求的封装:

// 封装数据请求request
const BASE_URL = '';  // 基础地址

export default function request(url,params={}){
  return new Promise((resolve,reject)=>{
  wx.showLoading({  // 请求提示
    title: '正在加载中...',
  })
  wx.request({
    url: BASE_URL + url,  // 请求url地址
    data: params.data || {},  // 请求参数
    header: params.header || {},  // 请求头
    method: params.method || 'GET', // 请求方式
    dataType: 'json', // 返回数据类型
    success: (res)=> { // 成功调用
      wx.hideLoading(); // 关闭请求提示
      resolve(res.data) // 成功处理res.data中的数据
    },
    fail: (err)=> { // 失败调用
      wx.hideLoading(); // 关闭请求提示
      wx.showToast({  // 提示错误信息
        title: err || '请求错误!',
      })
      reject(err) // 失败处理err
    }
  })    
})
}

        对于request的网络数据请求的封装并没有那么的复杂,加上一些注释小白应该可以更容易理解,在未 return new Promise(..) 之前返回的是一个Promise对象,这时可以再 new 一个Promise拿到数据,它有两个参数,两个参数分别又是函数,即高阶函数;请求之前使用wx.showLoading提示请求在加载中,通过wx.request发起数据请求,与基础地址BASE_URL拼接,通过data接收传入参数,header、method同理,success成功调用关闭掉请求提示交给resolve处理成功结果,fail失败调用关闭掉请求提示,同时需要提示用户请求错误的信息后交给reject处理失败结果;

如何来调用封装的request请求呢?

        首先先来准备一下数据请求的测试接口,这里通过本地Node.js搭载的服务器提供的API接口进行测试:

小程序封装接口,微信小程序相关,微信小程序,小程序,封装接口,wx.request小程序封装接口,微信小程序相关,微信小程序,小程序,封装接口,wx.request

        测试接口已经准备完成,设置一下 BASE_URL 基础地址为 http://127.0.0.1:3000;

const BASE_URL = 'http://127.0.0.1:3000'

         这里需要设置【选中】微信小程序开发者工具中的【详情】- 【不校验合法域名...】这项;

        在 index.wxml 中设置一个按钮:

<button bindtap="handleClick">request请求</button>

        在 index.js 中引入封装request数据请求文件,并编写按钮的触发事件 handleClcik:

// index.js
const app = getApp()
import request from '../../utils/request'
Page({
    handleClick(){
        request('/api/navList').then(res=>{
            console.log(res);
        })
    }
})

小程序封装接口,微信小程序相关,微信小程序,小程序,封装接口,wx.request

封装各数据接口请求函数

        项目中用着许许多多的接口数据请求,此时对于这些接口函数进行封装处理,使用的时候可以直接来导入使用;

        创建 /util/api.js 文件封装各接口请求函数的文件:

// 引入封装request请求函数
import request from './request'
// 获取swiperList数据
export const reqSwiperList = () => request('/api/swiperList')
// 获取navList数据
export const reqNavList = () => request('/api/navList')
// 获取category数据
export const reqCategory = () => request('/api/category')

        下面在 index.js 中的onLoad中来调用使用:

...
 onLoad:function(){
    reqSwiperList().then(res=>{console.log('reqSwiperList',res)});
    reqNavList().then(res=>{console.log('reqNavList',res)});
    reqCategory().then(res=>{console.log('reqCategory',res)});
 }
...

小程序封装接口,微信小程序相关,微信小程序,小程序,封装接口,wx.request

 async 和 await 

        通过 async 和 await 的写法会比使用 .then(res=>{}) 的这种方式更加简练一些;下面来将 handleClick 中的请求函数做一个变更:

handleClick(){
    reqSwiperList().then(res=>{
        console.log(res);
    })
}

        使用 async 和 await 写法:

async handleClick(){
    const res = await reqSwiperList()
    console.log(res)
}

小程序封装接口,微信小程序相关,微信小程序,小程序,封装接口,wx.request

        以上就是封装小程序request数据请求和封装各接口数据请求函数的内容;可以在你的小程序项目当中去使用,封装小程序的request请求和封装各接口请求,可以让你在小程序项目中更上一层!感谢大家的支持!!!

小程序封装接口,微信小程序相关,微信小程序,小程序,封装接口,wx.request文章来源地址https://www.toymoban.com/news/detail-770393.html

到了这里,关于封装小程序request请求[接口函数]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序封装request请求,包含请求拦截器,响应拦截器和请求重试功能

    在发送请求之前,先判断用户是否有token,没有就执行登陆请求,将token保存,然后再执行原来请求; 拥有token,就直接执行请求;但是用户的这个token可能是过期的,如果执行请求发现用户登陆过期,就统一返回40001,然后对40001的响应统一处理,执行登陆请求,再执行原来请

    2024年02月13日
    浏览(50)
  • uniapp 微信小程序请求拦截器 接口封装

    前言: 请求拦截器可以在我们需要传递请求头的时候使用,例如:token 也会在当token发生变化的时候给予响应,所以我们做好对应的判断即可 1.首先在根目录创建common文件夹, 在里面创建request.js文件并加入以下代码: 2,在common文件夹下接着新建一个example.js文件来当作接口

    2024年01月23日
    浏览(49)
  • 【JWT】SpringBoot+微信小程序根据指定参数生成Token、更新Token、判断Token是否已经过期、封装wx.request请求更新Token并判断Token是否过期

    微信小程序js代码 微信小程序点击登录按钮调用该方法 java后端代码 getUserCode方法为获取用户的唯一标识openId userLogin方法用于用户授权登录并获取Token userLogin实现类方法 封装了wx的request请求,每次发起请求的时候都走一遍更新Token的接口/user/updateTokenTime,如果接口返回offlin

    2024年02月04日
    浏览(53)
  • 【uniapp&微信小程序】封装uni.request()

    前言         在项目开发过程中,往往需要对请求进行二次封装,这篇文章将对uni.request()进行二次封装,并实现多个环境的请求配置,对请求方式,数据格式等进行封装,将请求做到最简化。 一.封装uni.request() 第一步基于 uni.request() 进行二次封装,集成项目开发中需要的参

    2024年02月09日
    浏览(91)
  • 微信小程序封装请求

    封装请求 解决的问题 很多页面中请求的 url 前半部分都是一样的,重复书写导致页面代码冗余复杂同时逻辑容易不清晰,所以采用单独将请求封装成一个文件(模块)使得这些问题得到解决。 前期基础知识 uni.request(wx.request) Promise 具体步骤 创建文件夹及文件 在根目录下

    2024年02月11日
    浏览(45)
  • 微信小程序 基于Promise 对 wx.request 封装处理

    当我们进行微信小程序开发的时候,会经常涉及到发送网络请求来进行后台数据交互,而在微信小程序中,用来 发送请求的方法是 wx.request() , 但是由于 wx.request() 方法 不支持 Promise 风格的调用,所以导致 wx.request() 用来发送异步请求的时候,会触发成 回调地狱 的表现, 以及

    2024年02月04日
    浏览(47)
  • 微信小程序网络请求封装

    网络请求地址放到url.js中,分别制定开发环境,体验环境,线上环境 网络请求的方法放到request.js中,暴露get、post、wxLogin方法 请求前显示加载中,请求结束后隐藏加载中 请求的接口方法,放到api.js中,并调用request.js中对应的方法 2.1 请求地址(url.js) 2.3 具体的请求方法(api.

    2024年02月15日
    浏览(42)
  • 【小程序教程】微信小程序之request网络请求

    微信小程序提供了request网络请求的API,可以用于与后台服务器进行数据交互,实现数据的获取和提交等功能。在本文中,将介绍如何使用request网络请求API,并提供一个示例代码,帮助大家更好地理解。 使用request网络请求API的步骤如下: 在小程序页面中,需要在页面或者组

    2024年02月04日
    浏览(49)
  • 【微信小程序】使用 wx.request 方法进行异步网络请求

    在微信小程序中,你可以使用 wx.request 方法进行异步网络请求,并将获取到的列表数据渲染到 UI 上。 首先,在页面的 data 中定义一个数组变量,用于存储获取到的列表数据,例如: 然后,在页面的生命周期函数 onLoad 或需要触发网络请求的函数中,使用 wx.request 方法发送异

    2024年02月16日
    浏览(59)
  • 微信小程序HTTP请求封装,复习指南

    // 配置文件 const config = require(‘./config.js’) var app = getApp(); const host = config.httpServer; // 服务器baseUrl /** POST请求, URL:接口 postData:参数,json类型 doSuccess:成功的回调函数 doFail:失败的回调函数 */ function postData(url, postData, doSuccess, doFail) { wx.request({ //项目的真正接口,通过字

    2024年04月15日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包