因此,在main.ts中,我试图调用类方法processResponse
以从处理程序中获取数据,但它总是返回custObject
且未定义,甚至不进入processResponse
函数,这是什么?在下面的代码中实现错误?
main.ts
private async custResponse(data: any): Promise < any > {
const custObject = await RequestResponseHandler.processResponse(data);
return custObject;
}
handler.ts
public static async processResponse(data: any): Promise<any> {
let response: any = {};
console.log("Data>>..>>>>", data); // undefined
try {
if (data.Header.StatusCode === "0000") {
response = data.Details;
const tokenId = await this.cacheResponse(response);
response.Header.tokenID = tokenId;
return response;
}
} catch (err) {
return data;
}
}
答案 0 :(得分:1)
由于您的console.log("Data>>..>>>>", data);
是undefined
,这意味着问题在上游。您没有将data参数中的任何内容传递给此方法。尝试检查您要在哪里调用custResponse
方法,并查看是否实际传递了数据(可能不是)。
对于未定义的返回,在状态代码不正确的情况下,在您的代码中不返回任何内容(在try块中)。尝试在结尾处放些回报。
public static async processResponse(data: any): Promise<any> {
//....
//try catch stuff...
//....
return data //or something else
}