返回

微信小程序request请求的封装,让你的代码更优雅

前端

前言

作为一名合格的前端开发,为了代码质量和优雅度(其实是因为懒),避免不了封装一些重复代码和功能,来使开发过程更加酣畅淋漓。项目中,wx.request 的很多参数都是固定的,只需要改变 data 的值,而一般我们的逻辑处理都是在 wx.request 的回调 successfailcomplete 中。

封装 wx.request 请求

我们可以将 wx.request 请求封装成一个函数,这样就可以减少重复代码,提高开发效率。封装后的函数可以如下所示:

function request(options) {
  return new Promise((resolve, reject) => {
    wx.request({
      ...options,
      success: (res) => {
        resolve(res.data)
      },
      fail: (err) => {
        reject(err)
      }
    })
  })
}

使用时,只需要传入 options 对象即可,其中 options 对象可以包含以下参数:

  • url:请求的URL
  • data:请求的数据
  • method:请求的方法,默认为 GET
  • header:请求的头部
  • timeout:请求的超时时间,默认为 60000 毫秒
  • dataType:返回的数据类型,默认为 json
  • responseType:返回的数据格式,默认为 text

封装后的用法

封装后的 request 函数用法非常简单,只需要传入 options 对象即可。例如,以下代码将使用 request 函数发送一个 GET 请求:

request({
  url: 'https://example.com/api/v1/users',
}).then((res) => {
  console.log(res)
}).catch((err) => {
  console.log(err)
})

注意事项

使用 request 函数时,需要注意以下几点:

  • request 函数是异步的,因此需要使用 await.then() 方法来等待请求完成。
  • request 函数返回一个 Promise 对象,因此可以将它与其他 Promise 对象一起使用。
  • request 函数的 options 对象可以包含任意数量的参数,但需要注意的是,某些参数是必填的,否则请求将失败。

结语

封装 wx.request 请求可以帮助我们简化代码,提高开发效率,让我们的代码更优雅。希望本文能够帮助大家更好地使用 wx.request 函数。