HarmonyOS 鸿蒙Next 接口请求报错Cannot store property of null or undefined
HarmonyOS 鸿蒙Next 接口请求报错Cannot store property of null or undefined
接口封装get方法如下:
get<T>(url: string, param: object | null, type: string): Promise<ResponseResult<T>> {
let uri = WebUtils.getParam(url);
let uriMap = uri.queryMap;
uriMap.forEach((value, key) => {
this.map.set(key, value);
})
params_type = type;
const errorData = [] as T;
let serverData: ResponseResult<T> = new ResponseResult(errorData);
return apiClient.get(url, { params: param })
.then((response: AxiosResponse) => {
serverData = response.data;
return serverData;
})
.catch((error: AxiosError) => {
serverData.errmsg = error.message;
return serverData;
})
}
export class ResponseResult<T>{
/**
* Code returned by the network request: success, fail.
*/
errno: number;
/**
* Message returned by the network request.
*/
errmsg: string | Resource;
/**
* Data returned by the network request.
*/
data: T;
constructor(data:T) {
this.errno = -1;
this.errmsg = '';
this.data = data;
}
}
调用如下:
logout(): Promise<ResponseResult<User>> {
return new Promise((resolve: Function) => {
let url = `${NetConstant.LOGIN_OUT}`;
let request = new NewRequest(NetConstant.BASE_URL_TYPE1);
request.requestUse();
request.get<User>(url, null, CommonConstants.TYPE_USER).then((data: ResponseResult<User>) => {
})
})
}
因为接口返回结果是:
{
"errno": 0,
"errmsg": "退出成功"
}
导致出现了如下报错Cannot store property of null or undefined
如何修改
更多关于HarmonyOS 鸿蒙Next 接口请求报错Cannot store property of null or undefined的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
修改get<T>(url: string, type: string, param?: object)
更多关于HarmonyOS 鸿蒙Next 接口请求报错Cannot store property of null or undefined的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对HarmonyOS(鸿蒙)系统中Next接口请求报错“Cannot store property of null or undefined”的问题,这通常表明在尝试访问或修改一个空(null)或未定义(undefined)对象的属性时发生了错误。
-
检查对象初始化:确保在调用Next接口之前,所有相关的对象都已被正确初始化。如果对象是从函数或方法中返回的,检查该函数或方法是否有可能返回null或undefined。
-
代码审查:仔细检查触发错误的代码行,找出哪个对象或属性是null或undefined。可以使用
console.log()
来打印相关对象的状态,以帮助定位问题。 -
异常处理:在访问对象属性之前,添加条件语句来检查对象是否为null或undefined。如果是,可以采取适当的措施,如返回一个默认值或抛出一个更具体的错误。
-
API文档:查阅HarmonyOS的官方API文档,确认Next接口的使用方法和参数要求,确保没有遗漏或错误地使用API。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html 。这将帮助你获得更专业的技术支持和解决方案。