在我们使用redux时,使用异步action的时候,如何在action处理各种case呢?
就是说,我们请求一个接口之后,服务端可能返回正常数据,也可能是错误数据,也可能超时等,而我们在action拿到不同结果的时候,我们如何更优雅的处理呢?
目前看到两种,自己目前用这种,在action中,返回server状态,然后在store中,同时用不同变量来保存每个接口的状态,最后在view中进行各种接口状态判断提示toast或者错误信息页面等
{ type: 'FETCH_POSTS' }
{ type: 'FETCH_POSTS', status: 'error', error: 'Oops' }
{ type: 'FETCH_POSTS', status: 'success', response: { ... } }
还有一种,是使用三种不同名称的type
{ type: 'FETCH_POSTS_REQUEST' }
{ type: 'FETCH_POSTS_FAILURE', error: 'Oops' }
{ type: 'FETCH_POSTS_SUCCESS', response: { ... } }
感觉这样也是麻烦,而且需要定义多个action,虽然有redux-actions来帮助
所以,大家认为还有什么更好的办法去处理吗?