const axios = require("axios"); axios.get('url') .then(response => { console.log(response) }) .catch(err => console.log(err))
字符串我如何衡量网站返回完整页面需要多少时间?
fzsnzjdm1#
您可以使用performance.now()来测量开始和完成请求之间的时间。
performance.now()
const axios = require("axios"); const { performance } = require('perf_hooks'); let time = performance.now(); axios.get('url') .then(response => { console.log(response) console.log(`${(performance.now() - time) / 1000} seconds`); }) .catch(err => console.log(err))
字符串
sauutmhj2#
此外,您可以轻松地使用axios.interceptors获取请求开始时和响应到达后的时间并将其添加为axios.create的一部分.对于请求:
axios.interceptors
axios.create
axios.interceptors.request.use(function (config) { config.timeData = { startTime: new Date()} return config; }, function (error) { return Promise.reject(error); });
字符串作为回应:
axios.interceptors.response.use(function (response) { response.config.timeData.endTime = new Date() return response; }, function (error) { return Promise.reject(error); });
型你可以在这里查看更多关于拦截器的信息
jdg4fx2g3#
在2023年(及以后),更好的方法是使用内置的fetch API,它可以自动捕获请求定时测量。下面是一个例子:
fetch
import { performance } from 'node:perf_hooks'; const url = 'https://jsonplaceholder.typicode.com/posts/1'; const response = await fetch(url); await response.json(); console.log(performance.getEntriesByName(url));
字符串产出:
[ PerformanceResourceTiming { name: 'https://jsonplaceholder.typicode.com/posts/1', entryType: 'resource', startTime: 31.364732027053833, duration: 764.867231965065, initiatorType: 'fetch', nextHopProtocol: undefined, workerStart: 0, redirectStart: 0, redirectEnd: 0, fetchStart: 31.364732027053833, domainLookupStart: undefined, domainLookupEnd: undefined, connectStart: undefined, connectEnd: undefined, secureConnectionStart: undefined, requestStart: 0, responseStart: 0, responseEnd: 796.2319639921188, transferSize: 300, encodedBodySize: 0, decodedBodySize: 0 } ]
型duration属性提供您正在查找的内容。有关更多详细信息,请参阅https://nodejs.org/api/perf_hooks.html。
duration
3条答案
按热度按时间fzsnzjdm1#
您可以使用
performance.now()
来测量开始和完成请求之间的时间。字符串
sauutmhj2#
此外,您可以轻松地使用
axios.interceptors
获取请求开始时和响应到达后的时间并将其添加为axios.create
的一部分.对于请求:字符串
作为回应:
型
你可以在这里查看更多关于拦截器的信息
jdg4fx2g3#
在2023年(及以后),更好的方法是使用内置的
fetch
API,它可以自动捕获请求定时测量。下面是一个例子:字符串
产出:
型
duration
属性提供您正在查找的内容。有关更多详细信息,请参阅https://nodejs.org/api/perf_hooks.html。