收藏
回答

如何正确地判断失败,success,fail,还是complete?

很多接口是通过传递对象的方式进行调用那么如何统一处理失败的情况?

  1. 通过success回调的res.errMsg判断,但是有的接口res本身就是数据,不存在errMsg字段,例如https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoice.html
  2. 在fail回调里直接做处理,那么和success的res.errMsg有区别么?文档里没有fail回调参数说明。例如https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoiceTitle.html
  3. 在complete中判断res.errMsg,但是有的接口不存在此回调,例如https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html

微信wx接口设计的目的就是必须根据不同api逐个处理么?大家怎么解决错误处理的呢?

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

1 个回答

  • FWAN
    FWAN
    2020-03-04

    三个回调函数触发情况不同。

    success是api接口调用成功之后触发,触发后获取相应的数据并执行{ }中设定的操作。

    fail是api接口调用失败之后触发,触发后包含相应的失败信息,可以在{ }中设置反馈信息,告知用户哪里出错了,或者自己调试打印。

    complete是只要调用api接口就可以触发(不管调用失败还是成功),然后执行{ }中设定的操作。

    2020-03-04
    有用
    回复 2
    • 浮世华
      浮世华
      2020-03-04
      谢谢您的回复,回调的差别我理解了,但是如何统一处理呢?现在情况是每个api查询手册,逐一判断。有更好的处理方式么?
      2020-03-04
      回复
    • FWAN
      FWAN
      2020-03-04回复浮世华
      能否描述一下具体的场景,这样太空泛了。我没有这样尝试过,您是否可以这样,在data中设置一个数组用来记录所有API接口的回调情况,然后在做一个循环判断。感觉这样可能通信不是很好。
      2020-03-04
      回复
登录 后发表内容
问题标签