收藏
回答

uni.requestPayment的success里面不能调用其他函数吗?

uni.requestPayment的success里面不能调用其他函数吗?其他地方都可以通过this.recharge()调用,在uni.requestPayment里面使用报错,this也用不了。
requestPayment(params) {
  uni.requestPayment({
    nonceStr: params.nonceStr,
    package: params.package,
    paySign: params.paySign,
    signType: params.signType,
    timeStamp: params.timeStamp,
    success(res) {
      this.recharge()
      uni.$showSuccMsg('支付成功!')
    },
    fail(err) {
      uni.$showErrorMsg('支付失败!')
      console.error('pay fail', err)
    }
  })
},

回答关注问题邀请回答
收藏

7 个回答

  • 游戏人生
    游戏人生
    2023-04-18

    这里this的问题,要么你写 success:res=>{}


    2023-04-18
    有用 2
    回复
  • 奋斗吧小青年°
    奋斗吧小青年°
    2023-04-18

    你这this指向谁

    2023-04-18
    有用 2
    回复
  • showms
    showms
    2023-04-18

    this的指向问题

    2023-04-18
    有用 1
    回复
  • 朝酒晚舞
    朝酒晚舞
    2023-04-18
    success: res => {
      this.recharge()
    }
    
    2023-04-18
    有用 1
    回复
  • Mr.Zhao
    Mr.Zhao
    2023-04-18

    了解下箭头函数 或者外面定义const that = this 这跟支付没关系,碰巧了。上完厕所回来报错了,就说微信不让上厕所?

    2023-04-18
    有用 1
    回复
  • 一π狐言
    一π狐言
    2023-04-19

    function()/() 普通函数指向最后调用他的对象,所以this指向变了导致你不能调用

    ()=>箭头函数 指向定义时的对象,,所以此时的this能调用recharge()

    2023-04-19
    有用
    回复
  • -
    -
    2023-04-19

    感谢大家,之前不太理解const that = this的意义,学习到了。对箭头函数、this指向 也有更多的了解了

    2023-04-19
    有用
    回复
登录 后发表内容