2015-05-22 4 views
1

У меня есть код nodejs, который выполняет код extendscript, и мне нужно получить результат из extendscript, если результат кода является истинным или ложным (например, return или что-то еще).получить результат от extendscript работает узлом js

Единственный способ, которым я нашел, - создать флаг-файл, когда закончится extendscript, а затем проверить его в узле.

Есть ли лучший способ сделать это?

Спасибо всем!

ответ

0

Я предполагаю, что вы можете редактировать extendscript, так как вы упомянули «вы можете создать флаг-файл».

В вашем extendscript вместо создания флага-файла записывается логическое значение в стандартный вывод.

В вашем родительском скрипте (который на самом деле вызов extendsscript) использовать что-то вроде

var cp = exec('extendsscript'); 
cp.stdout.on('data', function(data) { 
    // do whatever you want to do with the data. Might have to change encoding 
}); 

линии консультации, если вы планируете получить небольшое количество данных (сообщение о состоянии) Exec прекрасно, но для больших количество данных используется вместо spwn, поскольку exec буферизует данные в памяти.

+0

Спасибо, но как я могу отправить из extendscript в stdout? (return true not works ..) – Ziki

+0

Каким файлом является extendsscript? –

+0

это код javascript, но для adobe-приложения, такого как эффекты, фотошоп и т. Д. – Ziki

0

Если вы установили extendscript-stream, вы можете добавить $.write(JSON.stringify(data)); в свой файл ExtendScript в трубку data назад к Node.js.