• Es6 Promise 结合 async await ,枪毙回调地狱


    十年河东,十年河西,莫欺少年穷

    学无止境,精益求精

    代码:

    onLoad: function () {
        let that=this;
        that.initdata(); 
      },
    
      async initdata(){
        let that=this;
        let RedisOptions =await  request.request({
          url: "/api/V1/Home/GetRedisOptions",
          method: "GET"
        });
        console.log(RedisOptions)
    
        let FileOptions =await  request.request({
          url: "/api/V1/Home/GetFileOptions",
          method: "GET"
        });
        console.log(FileOptions)
      },
    
      //  initdata(){
      //       let that=this;
      //   let rst=null;
      //       let RedisOptions =  request.request({
      //         url: "/api/V1/Home/GetRedisOptions",
      //         method: "GET"
      //       }).then(result => {
      //         console.log(result.data)
      //         rst=result.data;
      //       });
        
      //       
      //       RedisOptions.then(A=>{
      //         request.request({
      //           url: "/api/V1/Home/GetCurrentUser",
      //           method: "GET"
      //         }).then(result => {
      //           console.log(result.data)
      //           // that.ResultData="result.data";
      //           console.log(that.ResultData)
      //         });
      //       })
      //     },

    Promise 的封装如下:

    import * as common from "../../utils/config/config"
    const ApiUrl = common.config.swagger.apiUrl;
    var dayjs = require('dayjs')
    export const request = (parm) => {
      let tokenOverTime = wx.getStorageSync('tokenOverTime');
      let bol = dayjs().isBefore(dayjs(tokenOverTime));
      let token = wx.getStorageSync('token');
      if (!bol || !token) {
        wx.showModal({
          title: '提示',
          content: '请重新登录',
          showCancel: false,
          success: function (res) {
            if (res.confirm) {
              wx.reLaunch({
                url: '/pages/index/index',
              })
            }
          }
        })
      } else {
        return new Promise((resolve, reject) => {
          parm.header = {
            "Authorization": token
          };
          parm.url = ApiUrl + parm.url;
          wx.request({
            ...parm, // 展开对象 
            success(res) {
              //console.log(res.data.Data)
              if (res.statusCode == 200 && res.data && res.data.resultCode == 0) {
                resolve(res.data);
              } else if (res.statusCode == 200 && res.data && res.data.resultCode == -1) {
                wx.showModal({
                  title: '系统异常',
                  content: res.data.resultMessage,
                  cancel: false
                })
                reject(res.data);
              } else if (res.statusCode >= 500 && res.statusCode < 600) {
                wx.showModal({
                  title: '系统错误',
                  content: '网络请求错误',
                  cancel: false
                })
                reject(res.data);
              } else {
                reject(res.data);
              }
            }
          })
        })
      }
    
    }
    View Code

     @天才卧龙的博客

  • 相关阅读:
    纯MATLAB版本 SIFT代码
    hadoop2.4集群的搭建
    hadoop2.4的伪集群的搭建
    linux 下的ssh免密登陆设置
    linux 下的常用操作命令
    linux中的IP地址的修改
    使用idea创建maven多模块项目
    Hudson的使用
    创建线程的几种方法
    idea添加内存
  • 原文地址:https://www.cnblogs.com/chenwolong/p/15950349.html
Copyright © 2020-2023  润新知