小程序将wx.request简单封装成Promise形式

将wx.request简单封装成Promise形式

新建一个js文件,写入如下封装的内容

export const  request=(params)=>{
    
    
  const baseUrl = "https://abc.net/api/public/v1"
  return new Promise((resolve,reject)=>{
    
    
    wx.request({
    
    
      ...params,
      url:baseUrl+params.url,
      success:(result)=>{
    
    
        resolve(result);
      },
      fail:(err)=>{
    
    
        reject(err);
      }
    })
  })
}

然后在使用的地方引入这个js文件,路径是相对当前文件位置的,要指定到具体的文件且带后缀名

import {
    
    request} from "../../request/index.js";

以上就可以使用promise了,对了记得在开发工具中勾选上 ES6转ES5语法


让小程序中支持ES7的async语法

方法1:在开发工具中,点击右上角的详情-》开发设置-》勾选增强模式 就可以直接使用async-await。
在这里插入图片描述
方法2
注意:这种方法可能在某些旧手机或者旧版本的微信客户端中打开小程序的时候出现兼容性问题,如果需要兼容旧版本的话,使用上面的promise就足够了。

步骤:
1,在开发工具中勾选上ES6转ES5语法
2,下载facebook的regenerator库中的regenerator/packages/regenerator-runtime/runtime.js
这是专门用来编译async语法的,点击上面超链接进入到github页面之后,点击Raw,然后全选打开的页面内容复制。或者直接复制Raw按钮下面文本框的内容也可以。
在这里插入图片描述
3,在小程序目录下新建文件夹lib/runtime/runtime.js,将代码拷贝进去
4,在每一个需要使用async语法的页面 js文件中,都引入(不能全局引入)

import regeneratorRuntime fr

猜你喜欢

转载自blog.csdn.net/weixin_44679078/article/details/109267749