如何调试$ http异步调用?
我想看看我的回复在angularJS $http
调用中看起来像。但我不知道如何在那里停止执行? (在成功响应后)
我试图在那个地方放置断点并且执行不停止。 我甚至试图把debugger
指令放在那里,但它并没有停止。 这只发生在$ http调用(异步调用)时,否则中断点会停止执行。
我在代码中标记了注释,我想停止执行程序。
代码:
$scope.OpenModal = function (event) {
$("#myModal").css("display", "block");
var parent_TD = $(event.currentTarget).parent();
var cMEST_CDO2 = parent_TD.find("#inputDeliveryID").val();
var res = null;
$http({
method: "POST",
url: $scope.UrlGetDataFromCAORAM,
data: { cMEST_CDO2: cMEST_CDO2 }
}).then(function success(response) {
/* I would like to stop the program in this point */
res = response.data;
$scope.inputCustomerData = res.ACCO_NME + " " + res.ACCO_ADD + " " + res.ACCO_ZIP + " " + res.ACCO_CIT + " " + res.ACCO_VAT;
$scope.ORAC_DDE = res.ORAC_DDE;
$scope.ORAC_NUM = res.ORAC_NUM;
$scope.ArticleName = res.MERC_NME + " (" + MERC_CDO1 + ")";
}, function failure() {
alert("Error!");
})
}
这可能吗?
如果您想在该点停止执行,请在浏览器的“开发人员工具”中使用断点。然而,如果你只是想看看HTTP调用的响应,那么你可以在浏览器的开发工具的网络选项卡中查看(假设你的浏览器具有这种功能 - 所有流行的浏览器都可以)和观察对您的呼叫的回应。
最后,您可以将响应(即与console.log(response)
)一起记录到响应回调中的控制台。
希望有帮助!
你知道为什么执行不停止,如果我用$ http调用设置断点?带有$ http响应的Onyl,断点不会停止执行。 – FrenkyB
您是否尝试过在浏览器的开发工具中设置断点?如果是这样,你可以通过截图了解你做过的事情吗? –
假设你success function
不会被击中,另一种方法可以尝试,除了放置一个断点是将debugger;关键字的代码中,在您要开始调试这样的地步:
}).then(function success(response) {
/* I would like to stop the program in this point */
debugger;
...
然后确保开发人员工具已打开(浏览器中的F12)并运行该功能。
你知道什么是xhr要求吗? – madalinivascu
你知道console.log(response)是什么吗? – madalinivascu
使用chrome dev工具并在那里添加中断点以查看值。此外,您可以在网络选项卡中看到响应。 https://developer.chrome.com/devtools – Badr