我正在尝试使用Application Insights保存自定义指标 - 用户在mu页面上的时长。我写了下面的代码(它是一部分):
var start = new Date();
var recordMetrics = function () {
var end = new Date();
var timeSpentTotal = (end.getTime() - start.getTime()) / 1000;
if (window.appInsights) {
window.appInsights.trackMetric("timeSpentTotal", timeSpentTotal);
window.appInsights.flush();
console.log("Sent data with timeSpent");
}
}
window.addEventListener("beforeunload",
function (e) {
recordMetrics();
});
但是冲洗后的每个请求都被取消了。我几乎可以肯定这是因为App Insights创建了异步AJAX请求。我可以以某种方式将其更改为同步吗?或者我可能做错了什么?
答案 0 :(得分:0)
我建议您删除以下代码行:window.appInsights.flush();
API reference上描述了这一点。
<强>
flush()
强>立即发送所有排队的遥测。同步。
您通常不必使用此功能,因为它会自动发生 关闭窗口。