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

时间:2016-09-09 14:25:53

标签: javascript function time service call

我正在考虑多次服务调用收集响应并将其设置在变量中的时间。例如,在这样的电话中:

response = svc.call.someService()

我可以像这样围绕日期通话:

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

但我需要在整个代码中使用多个服务调用来执行此操作,并希望以某种方式创建一个可以为我执行此操作的函数,但保持响应变量的方式。我也无法改变服务本身。有什么想法以优雅的方式收集服务电话需要多长时间?

2 个答案:

答案 0 :(得分:1)

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

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);

答案 1 :(得分:1)

创建一个包装函数,如下所示:

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];