小程序模板:专业的小程序模板与静态模板分享平台
小程序
教程
搜索
当前位置 : 首页> 小程序教程> 微信小程序请求Promise简单封装

微信小程序请求Promise简单封装

当在微信小程序中进行请求时,通常会使用到 Promise 进行封装,以便更好地处理异步操作和链式调用。

以下是一个简单的微信小程序请求 Promise 封装的示例代码:

// utils/request.js

// 封装一个函数用于发送请求
const request = (url, method, data) => {
  return new Promise((resolve, reject) => {
    wx.request({
      url: url,
      method: method,
      data: data,
      header: {
        'content-type': 'application/json' // 根据实际需求修改header
      },
      success: (res) => {
        // 请求成功时,返回 resolve
        resolve(res.data);
      },
      fail: (err) => {
        // 请求失败时,返回 reject
        reject(err);
      }
    });
  });
};

// 导出 request 函数,以便在其他文件中使用
module.exports = request;

使用示例:

假设我们在小程序的某个页面中需要发送一个 GET 请求,可以这样使用封装好的 request 函数:

// pages/index/index.js

// 引入封装好的请求函数
const request = require('../../utils/request.js');

Page({
  onLoad() {
    // 在页面加载时发送请求
    this.fetchData();
  },
  fetchData() {
    // 使用封装的请求函数发送请求
    request('https://api.example.com/data', 'GET')
      .then((res) => {
        // 请求成功,处理返回的数据
        console.log('请求成功', res);
        // 可以在这里更新页面数据等操作
      })
      .catch((err) => {
        // 请求失败,处理错误
        console.error('请求失败', err);
        // 可以进行错误处理或提示用户
      });
  }
});

在这个示例中,我们首先定义了一个 request 函数,用于发送请求并返回一个 Promise 对象。在页面的 onLoad 生命周期中调用 fetchData 方法发送请求,并使用 .then() 和 .catch() 处理请求的成功和失败。

这种封装方式能够使请求代码更加模块化和可复用,同时使用 Promise 可以更方便地处理异步操作,避免了回调地狱的问题。

联系客服 意见反馈

签到成功!

已连续签到1天,签到3天将获得积分VIP1天

知道了