封装promise请求方式

前言

Promise 是一个 ECMAScript 6 提供的类,目的是更加优雅地书写复杂的异步任务。封装promise方式请求数据,防止当请求过多时出现回调地狱。

1.构造promise方法

代码如下(示例):

复制代码
new Promise(function (resolve, reject) {
    // 要做的事情...
});

2.封装微信小程序promise方法

复制代码
export const request=(params)=>{
    wx.showLoading({
      title: '正在加载...',
      mask:true
    });
  //公共url
  const baseUrl = "请求接口URL";
  return new Promise((resolve,reject)=>{
      wx.request({
        ...params,
        url:baseUrl+params.url,
        method:"get"||"post",
        data:{},
        success:(res)=>{
          if(res.data.code == 200){
            resolve(res)
          }
          else{
            resolve(res)
          }
        },
        fail:(err)=>{
          reject(err);
        },
        complete:()=>{
          ajaxTimes--;
          if(ajaxTimes===0){
            wx.hideLoading()
          }
        }
      })
  })
}
相关推荐
猫头_3 分钟前
AI 流式传输工程指南:有了 EventSource 为何还要 Fetch?
javascript·http·llm
赤水无泪4 分钟前
qt中图标、名称的设置方式
开发语言·qt
王莎莎-MinerU10 分钟前
MCP 解决的是工具接入,科研 Agent 还缺的是科学证据接口标准化
开发语言·网络·人工智能·深度学习·pdf·c#·php
hunterandroid14 分钟前
Paging 3 RemoteMediator 实战:构建离线优先的分页列表
android·前端
Underwood_1717 分钟前
星级评价——了解useState
前端
hunterandroid20 分钟前
[鸿蒙从零到一] ArkUI 组件化实战:构建可复用、可组合的自定义组件
前端·华为·架构
一只公羊23 分钟前
iPhone摄像头 在开发/调试过程中强行停止 App,导致 `AVCaptureSession` 没有被正常释放
前端
橘子海全栈攻城狮33 分钟前
【最新源码】基于SpringBoot + Vue的超市管理系统的设计与实现D002
java·开发语言·vue.js·spring boot·后端·spring
在水一缸40 分钟前
深入浅出 Catch2:现代 C++ 测试框架的优雅实践
开发语言·c++·单元测试·log4j·测试框架·catch2
-银雾鸢尾-1 小时前
C#中Object类内的方法
开发语言·c#