我有一个nodejs代码,执行一个extendscript代码,如果代码结果为true或false(如return或其他东西),我需要从extendscript中获取结果。
我找到的唯一方法是在extendcript完成时创建一个标志文件,然后在节点中检查它。
有更好的方法吗?
谢谢大家!
答案 0 :(得分:0)
我假设您可以修改 extendscript ,因为您已经提到过'您可以创建标记文件'。
在 extendscript 中,而不是创建flag-file,在标准输出中写入布尔值。
在您的父脚本(实际调用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很好但是对于大量数据使用spawn而不是exec缓冲内存中的数据。
答案 1 :(得分:0)
如果您安装extendscript-stream,可以将$.write(JSON.stringify(data));
添加到ExtendScript文件中,以便将data
传回Node.js。