nodejs Anfrage Bibliothek, Holen Sie sich die Reaktionszeit
Mithilfe der nodejs request
Bibliothek: https://github.com/mikeal/request
var request = require('request');
request('http://example.com', function (error, response, body) {
...
})
Ist es so möglich, die Reaktionszeit auf den Rückruf?
Der doc erwähnt Antwort.statusCode. Suche in der Bibliothek source-code sehe ich auch nicht dokumentierte Antwort.- Header und Antwort.href, aber ich sehe nicht, Reaktionszeit oder ähnliches.
oder gibt es eine alternative Bibliothek zu request
sieht vor, dass die Reaktionszeit?
ps: ich weiß, dass ich tun könnte etwas wie diese, aber das ist keine Lösung, da ich viele asynchrone Anfragen und ich es nicht kontrollieren kann, wenn jede Anfrage wird gestartet.
var request = require('request');
var start = new Date();
request('http://example.com', function (error, response, body) {
...
var responseTime = new Date() - start;
})
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Wunsch Bibliothek tun können, timing für Sie (docs):
Wie die Frage schon sagt, Sie könnte Probleme mit dem Ansatz für den Start einer timer-Aufruf
request
dann stoppen Sie den timer in die callback:Etwas wie
wird es für Sie tun. Dies scheint klein genug, dass es wahrscheinlich einfacher als das finden einer neuen Bibliothek.
[seconds, ns]
array in meinem Beispiel, aber das scheint wie eine gute Idee.var start = process.hrtime();
undres.responseTime = parseInt(process.hrtime(start)[1] / 10000000, 10);
Okay, ich habe gelogen.hrtime
. Das ist ziemlich praktisch. Noch, nicht, die Sie benötigen, um die Summe der Sekunden und Nanosekunden, um die richtige Antwort?let diff=process.hrtime(start); res._time=diff[0]+diff[1]/1e9;
Anstatt Date (), könnte man auch verwenden.hrtime. Ich habe eine Bibliothek, die speziell für diese Art von Fällen verwendet hrtime. Der name der Bibliothek ist exectimer.
Könnten Sie es so: