获取Angular中HTTP请求的执行时间

时间:2017-12-17 16:20:07

标签: angular http

如何在Angular中获取HTTP请求的执行时间(我使用的是版本5)?

由于异步性,此代码返回的值不正确:

  myFunction(someVariable):void {

     let startFrom = new Date().getTime();         

     this.http.post(myurl, myjson).subscribe(res => 
     console.log(res),
     console.log(new Date().getTime() - startFrom));

  }

2 个答案:

答案 0 :(得分:0)

您将当前时间减去当前时间(即0)作为错误回调,而不是计算操作成功时的持续时间。代码应该是

  myFunction(someVariable):void {

     let startFrom = new Date().getTime();         

     this.http.post(myurl, myjson).subscribe(res => {
       console.log(res),
       console.log(new Date().getTime() - startFrom));
     });

  }

答案 1 :(得分:0)

这是使用rxjs运算符的解决方案,它增加了易于包含在pipe链中的优势

 myFunction(someVariable):void {
     this.http.post(myurl, myjson).pipe(timeInterval()).subscribe(res => {
       console.log('Res', res.value),
       console.log('Time', res.interval);
     });

  }