Javascript runtime error: Cannot read property content from undefined
Javascript runtime error: Cannot read property content from undefined
我有一些棘手的 JScript 测试用例。我在 Javascript 中嵌套了 for 循环。在外循环和内循环中,我也有以下语句(具有不同的变量,但语句相似)来执行客户端请求。
var targetURL = "http://firsturl.com";
var targetURL_Req = new Request(targetURL, "GET", authHeaders);
var targetClientReq = httpClient.send(targetURL_Req);
targetClientReq.waitForComplete();
targetClientRes = JSON.parse(targetClientReq.getResponse().content);
当循环为 运行 时,对于循环中的某些值,我得到了成功的响应。但是对于某些人来说,它给出了如下响应。棘手的部分是,如果我执行多次,那么失败就会随机出现。
Execution of ParseJSONResponse failed with error: Javascript runtime error: \"TypeError: Cannot read property \"content\" from undefined. (ParseJSONResponse.js:7)
最初我认为是某个特定值导致了此错误。但是,错误是随机出现的。以前失败的任何价值,在下一次执行中获得成功,反之亦然。但是总是报错就是上面说的标准。
我是不是漏掉了什么重要的东西?
似乎某些 HTTP 请求没有 return 值导致错误。您可以尝试添加以下代码片段:
// Get and Process the response
if (targetClientReq.isSuccess()) {
var responseObj = targetClientReq.getResponse().content;
return responseObj.access_token;
} else if (targetClientReq.isError()) {
throw new Error(exchange.getError());
}
查看更多:https://docs.apigee.com/api-platform/antipatterns/wait-for-complete
我有一些棘手的 JScript 测试用例。我在 Javascript 中嵌套了 for 循环。在外循环和内循环中,我也有以下语句(具有不同的变量,但语句相似)来执行客户端请求。
var targetURL = "http://firsturl.com";
var targetURL_Req = new Request(targetURL, "GET", authHeaders);
var targetClientReq = httpClient.send(targetURL_Req);
targetClientReq.waitForComplete();
targetClientRes = JSON.parse(targetClientReq.getResponse().content);
当循环为 运行 时,对于循环中的某些值,我得到了成功的响应。但是对于某些人来说,它给出了如下响应。棘手的部分是,如果我执行多次,那么失败就会随机出现。
Execution of ParseJSONResponse failed with error: Javascript runtime error: \"TypeError: Cannot read property \"content\" from undefined. (ParseJSONResponse.js:7)
最初我认为是某个特定值导致了此错误。但是,错误是随机出现的。以前失败的任何价值,在下一次执行中获得成功,反之亦然。但是总是报错就是上面说的标准。
我是不是漏掉了什么重要的东西?
似乎某些 HTTP 请求没有 return 值导致错误。您可以尝试添加以下代码片段:
// Get and Process the response
if (targetClientReq.isSuccess()) {
var responseObj = targetClientReq.getResponse().content;
return responseObj.access_token;
} else if (targetClientReq.isError()) {
throw new Error(exchange.getError());
}
查看更多:https://docs.apigee.com/api-platform/antipatterns/wait-for-complete