E企盈营销工具技术服务商 热线:4006-838-530

微信小程序同步请求问题总结

E企盈直播平台营销卖货系统

这几天在工作中遇到了一个这样的需求:在初始化一个对象的时候要给该对象传一个function(要求同步从后端请求并返回请求得到的值),这个难道了我一个干后端的,请假了几位前端大神无果准备自己干。如果有用请赞我、废话不说上代码:1、场景:var obj = new object(a)a:function(){    wx.request({        url: url,        data: {        ‘name’ =obj.XX,        ‘id’ = obj.XX            },        method: ‘POST’,        header: {        ‘content-type’: ‘application/json’        },        success: function(res) {              that.data.phr = res.data            },    })    return that.data.phr}在class object中: var abj = a();XXXXXXXXXXXXX=abj;问题描述:该方法a需要使用obj中暴露出来的数据,obj中需要使用a中返回的参数,由于语法要求不能像上述代码中一样在后台返回数据之后直接return该数据。2、问题解决//class object中对使用该参数a的方法做同步处理export default{Object:function(a) {    var _this = this;    var b =null//type = String    //参数a的类型校验略…        b:async function(){         _this.b = await a();    }}}//onLoad: function (options) {    var obj = new object(a)}a:function(){     var that = this    await that.sendRequest(url, {              ‘name’: obj.name,              ‘id’: obj.id            }).then(res = {              console.log(res.data)              that.setData({              phr: res.data              })            })    return that.data.phr}  // 利用Promise进行同步请求封装  sendRequest: function(url, params) {    var that = this;    return new Promise(function(resolve, reject) {      wx.request({        url: url,        data: params,        method: “POST”,        header: {          “Content-Type”: “application/json;charset=UTF-8”,        },        success: function(res) {          resolve(res.data);        },        fail: function(res) {          reject(res);        },      })    });  }//打完收工注:在你按照此方法完成同步请求的时候不要高兴太早,他可能会报错哦!!!报错请选中微信开发者工具本地设置中的增强编译选项注:在你按照此方法完成同步请求的时候不要高兴太早,他可能会报错哦!!!报错请选中微信开发者工具本地设置中的增强编译选项注:在你按照此方法完成同步请求的时候不要高兴太早,他可能会报错哦!!!报错请选中微信开发者工具本地设置中的增强编译选项重要的事说三遍!!!!!!微信小程序复杂同步请求封装结束!

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序同步请求问题总结
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏