收藏
回答

如何根据wx.request中返回值结束代码?

if (type =="体验版")

{

var url = app.globalData.url + '/coupon/heavy';

var ii = utils.heavy(url,function(obj){

console.log(obj.data.code);

if(obj.data.code==200)

{

    wx.showToast({

    title: '已经购买体验订单,不能重复购买',

    icon: 'none',

    mask: true,

    duration: 2000,

    });

return false;  //这里不生效 想要这下面不在执行

}

})


}

console.log(type );


最后一次编辑于  08-16
回答关注问题邀请回答
收藏

5 个回答

  • G-STEPS技术支持
    G-STEPS技术支持
    08-16

    utils.heavy()  方法返回一个值,根据这个值来判断接下来是否要执行

    08-16
    赞同
    回复 2
    • 舞露
      舞露
      08-16
      返回的值接收不到
      08-16
      回复
    • G-STEPS街舞工作室
      G-STEPS街舞工作室
      08-16回复舞露
      const heavy = (url) => {
      var info = wx.getStorageSync("memberInfo");
       return new Promise(resolve => {
      wx.request({
      url: url,
           data: {
      info: info['id'],
           },
           success: function (t) {
      console.log( t);
             resolve(t);
           }
      })
      });
      }
      // 使用
      heavy('https://aa.com').then(t=>{
      if(t.code==200) {

      }else{

      }
      })

      把 heavy 改成返回 promise

      08-16
      回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    08-16

    为啥要var 一个 ii,下图写错了一个地方 那个/coupon/heavy 后的这个‘去掉


    08-16
    赞同
    回复 1
    • 舞露
      舞露
      08-16
      就是试试能不能接收到值,结果不能
      08-16
      回复
  • 舞露
    舞露
    08-16

    if (type =="体验版")

    {

    var url = app.globalData.url + '/coupon/heavy';

    var ii = utils.heavy(url,function(obj){

    console.log(obj.data.code);

    if(obj.data.code==200)

    {

    wx.showToast({

    title: '已经购买体验订单,不能重复购买',

    icon: 'none',

    mask: true,

    duration: 2000,

    });

    return 2222;

    }else{

    return 1111;

    }

    })

    console.log(ii);

    }

    // return false

    var info = wx.getStorageSync("memberInfo");

    console.log('info',info);




    const heavy = (url,cb) => {

    var info = wx.getStorageSync("memberInfo");

    wx.request({

    url: url,

    data: {

    info: info['id'],

    },

    success: function (t) {

    console.log( t);


    var mag = t.data.code;

    if (mag == 200) {

    typeof cb == "function" && cb(t)


    } else {

    typeof error === 'function' && error()


    }

    }


    })

    }


    08-16
    赞同
    回复
  • 米法
    米法
    08-16

    return 就行了啊

    08-16
    赞同
    回复 4
    • 舞露
      舞露
      08-16
      return 之后,他还是接着执行呀
      08-16
      回复
    • 米法
      米法
      08-16回复舞露
      搞个复现的代码片段吧
      08-16
      回复
    • 香蕉不是笨啦啦
      香蕉不是笨啦啦
      08-16回复舞露
      那是因为你写错了,我从来都没遇到return不行的情况,
      08-16
      回复
    • 舞露
      舞露
      08-16回复米法
      就是在后台传回来的值是200的情况下让 console.log('info',info); 不执行
      08-16
      回复
  • 香蕉不是笨啦啦
    香蕉不是笨啦啦
    08-16

    多简单一问题

    08-16
    赞同
    回复 1
    • 舞露
      舞露
      08-16
      ruturn false 不生效 你可以试试
      08-16
      回复
问题标签