如何计算使用got花费的时间?

时间:2020-02-19 09:47:15

标签: javascript node.js time xmlhttprequest got

示例代码:

const got = require('got');
async function timeSpent (){
   const time = new Date().getTime()
   await got('***')
   return new Date().getTime() - time
}

我想知道是否有更好的方法?

5 个答案:

答案 0 :(得分:2)

您可以通过这种方式。

console.time('test1');
console.time('test2');

setTimeout( (elem) => {
   console.log('You want to write something here!!');
   console.timeEnd('test2');
}, 2000);

console.timeEnd('test1');

答案 1 :(得分:2)

您可以使用第三方statman-stopwatch轻松记录总时间。

示例

const got = require('got');
const Stopwatch = require('statman-stopwatch');
async function timeSpent (){
    const sw = new Stopwatch();
    sw.start();
    await got('***');
    sw.stop();
    const delta = sw.read();
  return delta;
}

答案 2 :(得分:2)

使用got时不需要实现自己的计时逻辑。

响应包括一个计时对象,该对象收集每个阶段花费的所有毫厘斯。

您只需要从响应对象中读出timings.phases.total

const path = "http://localhost:3000/authenticate";
const response = await got.post(path, {
  body: { username: "john_doe", password: "mypass" },
  json: true,
  headers: {
    Accept: "application/json",
    "Content-type": "application/json",
  },
});

logger.debug({type: 'performance', path, duration: response.timings.phases.total});

参考:

https://github.com/sindresorhus/got#timings

https://github.com/sindresorhus/got/pull/590

答案 3 :(得分:1)

性能-是一种衡量此类情况的本地方法。

const got = require('got');
async function timeSpent (){
  var t0 = performance.now();
  await got('***')
  var t1 = performance.now();
  console.log("Call to do something took " + (t1 - t0) + " milliseconds.");
  return t1 - t0;
}

检查浏览器支持https://caniuse.com/#search=performance

答案 4 :(得分:1)

 let currentDate = moment().format('YYYY/MM/DD HH:mm')
            let dataCalca = moment(dataValue).format('YYYY/MM/DD HH:mm')
            let hours = moment
              .duration(moment(currentDate, 'YYYY/MM/DD HH:mm')
                .diff(moment(dataCalca, 'YYYY/MM/DD HH:mm'))
              ).asHours();

因此,您将获得一个小时的数字。您可以用它来计算