Задать вопрос
san_jorich
@san_jorich
Творческий кодер

JS Hook возвращает undefined.. Что не так делаю?

Здравствуйте!
Есть простая система крючков
var hooks = {};
function add_js_lib(name, func) { if(!hooks[name]) hooks[name] = [];  hooks[name].push(func);  }
function run_js_lib(name, ...params){ if(hooks[name]) hooks[name].forEach(func => func(...params)); }

на хук rotAE вешается, возвращающая строку функция rotator_AudioEdutor_tabulator
function rotator_AudioEdutor_tabulator(){
  return `<i class="fa fa-sliders text-info" action="audioeditor" track_id=""></i>`; 
}
add_js_lib('rotAE', rotator_AudioEdutor_tabulator);

Но когда строку нужно вернуть, в переменную "приходит" undefined
var audioeditor = run_js_lib("rotAE"); 
console.log(audioeditor); // undefined

Что не так?
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Так у вас из функции run_js_lib ничего не возвращается, она просто вызывает хуки с заданными параметрами, никак не используя полученный результат.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
san_jorich
@san_jorich Автор вопроса
Творческий кодер
Rsa97
function run_js_lib(name, ...params){   
  if(hooks[name]) hooks[name].forEach( func => result = func(...params));   
  if( typeof result !== 'undefined' ) return result;  return "";
}

Как лучше сделать массовый возврат ? Если на хук повесить несколько функций, возвращается крайняя..
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы