我先具体描述下这个问题吧:
1.微信小程序需要先调用小程序的网络请求接口(网络不好的话,提示用户网络状态不佳),请求用户授权(弹出授权窗口);
2.根据用户授权的结果分成以下两种情况:
a.用户拒绝,跳转页面回到请求授权页面;
b.用户同意,发起请求(网络不好,同样提示用户网络状态不佳),来到第3步;
3.用户授权后,再发出获取用户信息的请求:
a.网络请求失败,提示用户网络状态不佳;
b.请求成功,获得用户信息(性别,昵称,头像等),来到第4步;
4.根据openid再向后台发出请求(网络不好,依然也要提示用户网络状态不佳),查看该用户是否绑定手机:
a.已绑定,直接进入首页
b.未绑定,跳转到绑定页面
可以看出,这个流程的每一个网络请求都需要考虑到
1.网络状态的问题,网络连接不上,就要提示用户
2.每个请求的发起,都要等待上一个请求的实际返回结果才能作出反应:是跳转页面还是发起请求
请问这种需求可以怎样编写代码,做到可维护呢?请各位大佬支个招,提供个思路,或者大致的代码流程?我自己有想过用promise,但是这一连串的请求,每一个reject都会被catch,那要怎么分啊,没啥好的思路,还请各位帮忙,学习一个。