@ax-hack said in Node.js RabbitMQ как подружить?:
@sergerdn Помогло, только события ловит через раз, в отличии от чистой ноды :-D
Если у вас везде код то лучше писать через те либы и не заморачиваться, зато сможете по человеческий написать код
Есть переменная
LINK: "<a rel="" data-bind="" target="" href="">text</a>"
Есть скрипт который возвращает text
[[LINK]].split(/<a>([^])</a>/)[0]
записывающий результат в RESULT
После выполнения RESULT присваевается пустое значение ""
Как я понимаю, в скрипте возникает исключение. Как отловить его, непонятно в чем дело совсем.
@derkote said in Ошибка выполнения JS:
<
ситуация не совсем для сплита. Тут или индексОФ или Регекс
вот с индексОФ пример
[[LINK]].substring([[LINK]].indexOf('">')+2, [[LINK]].length-4)
это вернет text
зы: переменная result зарезервирована БАСом.
пример с регекс
[[LINK]].match(/>(.+?)</)[1]
[[LINK]].match(/>(.+?)</)[1]
Спасибо!) А в данном случае это ж будет первое и единственное вхождение, там не [0] должно быть?
indexOf('">')
Нужно ли кавычку забэкслешить?
Типо так:
indexOf( ' \"> ' )
@derkote кавычку не нужно ескейпить, потому что они обрамлены одинарными кавычками. Если бы там были вместо " такие ' то обрамить нужно было бы двойными ".
там должно быть именно [1], все так, как я написал. Если ты укажешь 0 то получишь вместо text это >text<
и вообще для таких случаем уже придумали для нас удобные способы, работать с регулярками можно и без JS кода: 0_1482503394978_asdaw.xml
@out
[[LINK]].substring([[LINK]].indexOf('">')+2, [[LINK]].length-4))
[17:25:16] Поток №1 : SyntaxError: Parse error Номер строки:5 Во время выполнения скрипта { page().script(VAR_LINK.substring(VAR_LINK.indexOf('">')+2, VAR_LINK.length-4)),function(){ VAR_SAVED_SCRIPT_RESULT_NAME = _result() section_start("test", 1,function(){ })})}
Ну не один из примеров выше через "Яваскрипт" так и не заработал, а через "Выполнить код" все работает.
В этой версии чтобы передавать переменные в действие "Яваскрипт" их нужно эскейпить. Уже исправил, в следующей(будет в понедельник) должно работать и так
[[LINK]].match(/\>(.*?)\<\/a\>/)[1]
Но лучше для регулярных выражений использовать действия "Выполнить код" или модулем "Регулярные выражения" или Xpath