Функция-декоратор

by Artem

JavaScript

'use strict';
var makingArray, loggingDecorator;

makingArray = function(num) {
  var arr = [];
  for (let i = num; i--;) {
    arr.push(i);
  }
  return arr;
};

loggingDecorator = function(func) {
  return function() {
    var arr = new Array();
    arr.push(Date.now());
    func.apply(this, arguments);
    arr.push(Date.now());
    return 'Exectuting time: ' + (arr[1] - arr[0]);
  };
};

var foo = loggingDecorator(makingArray);
console.log(foo(200000));