我現在用的是8.5.7版本2017.06編寫IBM BPM教練和正在創建的事件處理程序,看起來像:爲什麼我的IBM BPM教練事件不會激發JavaScript?
\\ Hide the dialog
${MyDialog}.setVisible(false);
\\ Execute the service
${MyService}.execue();
然而當事件發生時,執行什麼?
我現在用的是8.5.7版本2017.06編寫IBM BPM教練和正在創建的事件處理程序,看起來像:爲什麼我的IBM BPM教練事件不會激發JavaScript?
\\ Hide the dialog
${MyDialog}.setVisible(false);
\\ Execute the service
${MyService}.execue();
然而當事件發生時,執行什麼?
當我們創建一個在Coach內運行的腳本時,即使Process Designer條目顯示帶有內容輔助的多行,當腳本被保存並隨後執行時,代碼也會作爲一行「串聯在一起」。因此,代碼:
// 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)
表達單行註釋將正常工作。另外,在使用事件處理程序代碼中的回車符也把握不好,此刻一個需要的地方\\n
有在執行的代碼\n
。見my findings here。
感謝找到這個尼爾。 –