2017-04-20 5 views
1

私はカスタムメトリックを保存しようとしています。私は次のコード(それは一部です)を書いています:JavaScriptのApplication Insightsでアンロードする前にイベントを保存する

 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リクエストを作成するためです。どういうわけかこれを同期に変更できますか?あるいは、私は何か完全に間違っていますか? window.appInsights.flush();

これはAPI referenceに記述されている:

答えて

0

は、私はあなたが次のコード行を削除することをお勧めします。

flush()

すぐにすべてのキューに入れられたテレメトリを送ります。同期。

これは通常、ウィンドウが閉じて に自動的に行われるため、これを使用する必要はありません。

+0

この行がないと、動作しません。 –

関連する問題