如何正确地判断失败,success,fail,还是complete?
发布于 7 年前 作者 chaoqiao 8042 次浏览 来自 官方Issues

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

  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 回复

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

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

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

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

回到顶部