服务调用收集响应所需的时间

Time how long a service call takes to gather its response

我正在计算几个服务调用收集响应并将其设置在变量中所花费的时间。例如,在这样的调用中:

response = svc.call.someService()

我可以像这样进行约会通话:

var start = new Date.getTime();
response = svc.call.someService();
var end = new Date.getTime();
var time = end - start;

但我需要在我的代码中通过多次服务调用来完成此操作,并且想以某种方式创建一个可以为我执行此操作但保持响应变量不变的函数。我也不能改变服务本身。关于收集服务调用需要多长时间的优雅方式的任何想法?

您可以创建一个完全按照您的建议执行的包装函数,并将服务器调用引用作为参数传递给它,就像这样....

function timeServiceCall(serviceCall) {
    var start = new Date.getTime();
    var response = serviceCall();
    var end = new Date.getTime();
    console.log("time taken = " + end - start);
    return response;
}

然后你就这样调用服务...

var response = timeServiceCall(svc.call.someService);

制作一个包装函数,像这样:

function time (callback) {
    var start = new Date().getTime();
    var result = callback.call();
    return [result, new Date().getTime() - start];
}

然后像这样使用:

var called = time(svc.call.someService);
var result = called[0];
var timeTaken = called[1];