По сканерам, как я понимаю, глухо. Но да и бог с ними, со сканерами.
У меня тут потеря потерь.
Нагородил огород, теперь не могу понять, как раскрутить обратно.
Итого: есть функция, отправляющая некий html
function sendTextFileWithProcessing(filename, req, res, params = undefined){ fs.readFile(filename, 'utf8', function(error, data){ if(error){ res.sendFile(__dirname + '/404.htm'); } else{ let htm = data.replace('<title>~</title>', '<title>' + global_title + '</title>'); htm = htm.replace('<div>Usertext</div>' , auth.logoff_text(req)); if(params != undefined){ let cnt = 0; params.forEach(item_par => { cnt++; htm = htm.replace(item_par.par , item_par.val); if(cnt == params.length){ res.send(htm); } }); } else{ res.send(htm); } } }); }
Теперь я хочу в качестве params передать ей массив с единственным объектом, в котором будет замена тела странички-шаблона.
function doc_page(doc_id, req, res){ let user = auth.find_user(req); if(user == undefined){ res.sendFile(__dirname + '/static/htm/auth.htm'); } else{ sendTextFileWithProcessing(__dirname + '/static/htm/doc.htm', req, res, [{par: '<div id="sc_show"></div>', val: function(db.tblDoc(doc_id)){ return 'hello'; }}]); } }
В ней я заполняю массив параметров:
[{par: '<div id="sc_show"></div>', val: function(db.tblDoc(doc_id)){return 'hello';}}]
И вот тут всё валится: мол, unexpected token.
Если вызывать без параметра анонимной функции, то всё ок:
[{par: '<div id="sc_show"></div>', val: function(){return 'hello';}}]
Вот собственно, я и хочу понять: разве никак нельзя параметром функции передавать другую функцию?