Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
module.exports.wrap = function(that, target, aspect) {
var params = Array.prototype.slice.call(arguments, 3);
var wrapper = function() { aspect.apply(that, [target, arguments].concat(params)); }
return wrapper;
};
.module.exports.findOneById = function(id, cb) {
collection.findOne({_id: id}, cb) ;
};
module.exports.findOneById = aop.wrap(module.exports.findOneById, module.exports.findOneById, aspects.cache, 'message');
Я вижу код содержащий грубые ошибки. В таком виде он не применим в сколь-либо серьёзном проекте. А в мелких, где можно обойтись списком функций в глобальной области видимости — АОП не нужно совсем
поэтому и ошибки вы видите те, которые возникнут при применении на вашем проекте, а для моей задачи их не возникнет.
AOP(
[FunctionName("Something.protype.method")],
function something$method() {
...
}
);
var fn1 = function(name) {
return name;
};
var obj = {
sum: function(a, b) {
return a + b;
}
};
// Собираем все атрибуты в массивах, пока не встретим функцию,
// для которой они все предназначены
Синтаксический сахар АОП в JavaScript