Что значит fn в коде - function(fn) { fn(data); }?
Пытаюсь разобраться в этом примере кода. А именно в следующем блоке
Publisher.prototype.deliver = function(data) {
this.subscribers.forEach(
function(fn) {
fn(data);
}
);
return this;
};
Что такое fn в данном случае? Похоже на callback. Но какой именно если в функцию deliver передаётся только data?
Ответы (1 шт):
Автор решения: Komdosh
→ Ссылка
this.subscribers = []; - является массивом функций
var f = function print(data){
console.log(data);
}
this.subscribers.push(f);
поэтом forEach перебирает все функции в subscribers и применяет их, fn - в данном конкретном случае является одной из функции в subscribers (так как идёт перебор всех элементов массива, fn является псевдонимом для текущего элемента массива).
this.subscribers.forEach(
function(fn) {
fn(data);
}
);
в моём случае subscribers содержит единственную функцию print, которая напечатает значение переменной data.