在JavaScript中的Application Insights中卸载之前保存事件

时间:2017-04-20 07:14:00

标签: javascript azure

我正在尝试使用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请求。我可以以某种方式将其更改为同步吗?或者我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

我建议您删除以下代码行:window.appInsights.flush();

API reference上描述了这一点。

  

<强> flush()

     

立即发送所有排队的遥测。同步。

     

您通常不必使用此功能,因为它会自动发生   关闭窗口。