比十石开
比十石开
  • 发布:2020-08-14 16:42
  • 更新:2020-08-14 17:03
  • 阅读:1516

uni.request 的失败方法fail里再次发起请求,提示网络超时

分类:uni-app

业务是有两个服务地址a、b,当第一个服务地址请求不通时请求另一个。
测试结果:
配置个请求不到的地址a,造成网络超时;
如果直接uni.request请求b地址是通的,可以确定b地址没有问题;
如果在第一个uni.request去请求a,然后在fail方法里写第二个uni.request去请求b地址,结果第二个请求报网络超时。
第二个请求代码如下:

fail: (res) => {  
            console.log(JSON.stringify(res));  
            console.log(this.$proxyServerUrl + params.url);  
            console.log(params.data);  
            console.log(params.header);  
            console.log(params.method);  
            // 二次请求代理地址  
            uni.request({  
                url: this.$proxyServerUrl + params.url,  
                data: params.data,  
                header: params.header,  
                method: params.method,  
                success: (res) => {  
                    if (params.showLoading) {  
                        uni.hideLoading();  
                    }  
                    // 请求处理结果,0成功,1失败  
                    var errcode = res.data.errcode;  
                    var errmsg = res.data.errmsg;  

                    if (errcode == 0 ) {  
                        // 服务端正常请求数据  
                        if (params.success) {  
                            params.success(res.data);  
                        }  
                    }  
                },  
                fail: (res) => {  
                    console.log(5);  
                    if (params.showLoading) {  
                        uni.hideLoading();  
                    }  
                    if (params.fail) {  
                        params.fail(res);  
                    }else{  
                        uni.showToast({  
                            title: '代理网络连接超时,请稍后重试!',  
                            icon: 'none'  
                        });  
                    }  
                    console.log(JSON.stringify(res));  
                }  
            });  
        }
2020-08-14 16:42 负责人:无 分享
已邀请:
比十石开

比十石开 (作者)

测试:如果在第一个请求的success方法里发起第二个请求是可以的,这个是什么原因呢

该问题目前已经被锁定, 无法添加新回复