2017-06-02 63 views
0

我希望獲得API調用所需的時間。測量API調用所花費的時間

我有一個具有端到端連接的angularJS前端和nodejs後端的Web應用程序。在後端

路線

app.get('/api/eventUploadRead', function(req, res) { 
     filesReadUploads.find(function(err, events) {     
       if (err) 
        res.send(err); 
       res.json(events); 
      }); 
     }); 

在前端,調用API

getUploadRead : function() { 
     return $http.get('/api/eventUploadRead'); 
    }, 

控制器

getEventsOfUploadedFile(); 
$scope.events; 
    function getEventsOfUploadedFile() 
    { 
     Event.getUploadRead() 
     .success(function(event){ 
     $scope.events=event; 
     }) 
      .error(function (error) { 
       $scope.status = 'Unable to load event data: '; 
     }); 
    } 

我想要做的究竟是什麼讓所花的時間服務直到從API call.t 傳遞給控制器​​的數據爲止的原因是,我想要隨着數據負載的減少來測量時間變化。我想減少數據負載並測量相應的加載時間。

任何人都可以幫助我嗎?如果不清楚,請讓我知道。

感謝

回答

1

您可以使用console.time()/console.timeEnd()時間要求:

function getEventsOfUploadedFile() { 
    console.time('getUploadRead'); 
    Event.getUploadRead() 
    .success(function(event) { 
     $scope.events = event; 
    }) 
    .error(function(error) { 
     $scope.status = "Unable to load event data: "; 
    }) 
    .finally(function() { 
     console.timeEnd('getUploadRead'); 
    }); 
} 
+0

非常感謝朋友 – MSKP

+0

@ robertklep我應該得到兩個控制檯輸出的區別,,對嗎? – MSKP

+0

@ MSKP不,你會得到_one_控制檯輸出,告訴你在console.time()和console.timeEnd()調用之間花了多少時間。所以'console.time()'啓動定時器,'console.timeEnd()'結束它並記錄差異。 – robertklep

1

可以啓動一個定時器之前和服務電話後,計算所花費的時間。

var start = new Date().getTime(); 
    getEventsOfUploadedFile(); 
    $scope.events; 
     function getEventsOfUploadedFile() 
     { 
      Event.getUploadRead() 
      .success(function(event){ 
       var end = new Date().getTime(); 
      $scope.events=event; 
      }) 
       .error(function (error) { 
        $scope.status = 'Unable to load event data: '; 
      }); 
     } 
    total_time = end - start; 

您還可以使用Chrome開發人員工具來分析的服務調用的時間。

+1

非常感謝朋友 – MSKP

1

作爲@Vivz上述的替代方法,我使用console.time函數來測量持續時間(毫秒)。

/* start time ‘test’ */ 
console.time('test'); 

/* stop time ‘test’ */ 
console.timeEnd('test'); 

/* stop time output ms */ 
test: 8254.471ms 
+0

非常感謝朋友 – MSKP

1

您還可以使用performance.now()。這個link有console.time和performance.now之間的一些比較。

相關問題