使用“方式2:type和泛型”获取服务器数据失败,没有反馈http错误代码
当访问服务器失败时(服务器错误或地址错误时),无法在success: (res)中获取到statusCode ,只能在fail:(e)中获取到异常,但总是“[uts.sdk.modules.DCloudUniNetwork.RequestFailImpl] {errCode: 100002, cause: null, data: null, errMsg: "error message invalid json", errSubject: "uni-request", ...} ” 至少应该把http 返回的 statusCode 带上。
代码如下:
getData: function () {
console.log('开始获取数据。。。')
let that=this;
uni.request({
method: 'GET',
url: 'http://192.168.124.14/home/banner1',
success: (res) => {
console.log('请求成功');
console.log("res: " + JSON.stringify(res));
//console.log((res.data as UTSJSONObject)["data"]);
console.log(res.data);
console.log(res.data instanceof IRootType); //true res.data已经被转换为type了
console.log(res.data?.data); //因为联网数据不可控,转换可能失败,所以这里需要用?.的方式做安全访问
that.userInfo=res.data?.data;
},
fail:(e)=>{
console.log('异常');
console.log(e);
}
});
}