为什么我的 IBM BPM Coach Event 没有触发 JavaScript?
Why does my IBM BPM Coach Event not fire the JavaScript?
我正在使用 8.5.7 2017.06 版本编写 IBM BPM Coach,并正在创建一个事件处理程序,如下所示:
\ Hide the dialog
${MyDialog}.setVisible(false);
\ Execute the service
${MyService}.execue();
但是当事件发生时,什么都不执行?
当我们创建在 Coach 中运行的脚本时,即使 Process Designer 条目显示多行内容辅助,当脚本被保存并随后执行时,代码 "strung together" 作为单个线。所以代码:
// Hide the dialog
${MyDialog}.setVisible(false);
// Execute the service
${MyService}.execute();
变成:
// Hide the dialog ${MyDialog}.setVisible(false); // Execute the service ${MyService}.execute();
因此,//
成为一行注释的开头,基本上注释掉了该行的其余部分。解决方案要么不使用注释,要么使用 /*
和 */
注释括号。
事件处理程序编辑器误导性地暗示它是完整的多行 JS 代码。如您所见,此代码被评估为单行代码。在我看来,这像是 BPM 编辑器的缺陷。如果事件编辑器可以正确地将 \n
字符注入到进一步传递给 BPM UI(SPARK 工具包)使用的 new Function(expressionString)
的表达式中,单行注释就可以正常工作。另请注意,在事件处理程序代码中使用 return 字符也是错误处理的,目前需要放置 \n
才能在执行的代码中包含 \n
。参见 my findings here。
我正在使用 8.5.7 2017.06 版本编写 IBM BPM Coach,并正在创建一个事件处理程序,如下所示:
\ Hide the dialog
${MyDialog}.setVisible(false);
\ Execute the service
${MyService}.execue();
但是当事件发生时,什么都不执行?
当我们创建在 Coach 中运行的脚本时,即使 Process Designer 条目显示多行内容辅助,当脚本被保存并随后执行时,代码 "strung together" 作为单个线。所以代码:
// Hide the dialog
${MyDialog}.setVisible(false);
// Execute the service
${MyService}.execute();
变成:
// Hide the dialog ${MyDialog}.setVisible(false); // Execute the service ${MyService}.execute();
因此,//
成为一行注释的开头,基本上注释掉了该行的其余部分。解决方案要么不使用注释,要么使用 /*
和 */
注释括号。
事件处理程序编辑器误导性地暗示它是完整的多行 JS 代码。如您所见,此代码被评估为单行代码。在我看来,这像是 BPM 编辑器的缺陷。如果事件编辑器可以正确地将 \n
字符注入到进一步传递给 BPM UI(SPARK 工具包)使用的 new Function(expressionString)
的表达式中,单行注释就可以正常工作。另请注意,在事件处理程序代码中使用 return 字符也是错误处理的,目前需要放置 \n
才能在执行的代码中包含 \n
。参见 my findings here。