多个网络请求怎么优雅同步处理(包括异常处理)?

我先具体描述下这个问题吧:
1.微信小程序需要先调用小程序的网络请求接口(网络不好的话,提示用户网络状态不佳),请求用户授权(弹出授权窗口);
2.根据用户授权的结果分成以下两种情况:

a.用户拒绝,跳转页面回到请求授权页面;
b.用户同意,发起请求(网络不好,同样提示用户网络状态不佳),来到第3步;

3.用户授权后,再发出获取用户信息的请求:

a.网络请求失败,提示用户网络状态不佳;
b.请求成功,获得用户信息(性别,昵称,头像等),来到第4步;

4.根据openid再向后台发出请求(网络不好,依然也要提示用户网络状态不佳),查看该用户是否绑定手机:

a.已绑定,直接进入首页
b.未绑定,跳转到绑定页面

可以看出,这个流程的每一个网络请求都需要考虑到
1.网络状态的问题,网络连接不上,就要提示用户
2.每个请求的发起,都要等待上一个请求的实际返回结果才能作出反应:是跳转页面还是发起请求

请问这种需求可以怎样编写代码,做到可维护呢?请各位大佬支个招,提供个思路,或者大致的代码流程?我自己有想过用promise,但是这一连串的请求,每一个reject都会被catch,那要怎么分啊,没啥好的思路,还请各位帮忙,学习一个。

阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题