介绍

当流程运行到排他网关,会解析后续顺序流的条件表达式,选择一条解析结果为true的顺序流,继续执行

演示

排他网关

JSON规范

  1. 1process: {
  2. 2 nodes: [
  3. 3 {
  4. 4 id: 'startEvent_1',
  5. 5 name: 'Start',
  6. 6 type: 'startEventNone',
  7. 7 },
  8. 8 // 排他网关
  9. 9 {
  10. 10 id: 'gateway_1',
  11. 11 name: 'Gateway Exclusive',
  12. 12 type: 'gatewayExclusive',
  13. 13 },
  14. 14 {
  15. 15 id: 'endEvent_1',
  16. 16 name: 'End',
  17. 17 type: 'endEventNone',
  18. 18 },
  19. 19 {
  20. 20 id: 'endEvent_2',
  21. 21 name: 'End',
  22. 22 type: 'endEventNone',
  23. 23 },
  24. 24 ],
  25. 25 edges: [
  26. 26 {
  27. 27 id: 'edge_1',
  28. 28 name: '',
  29. 29 source: 'startEvent_1',
  30. 30 target: 'gateway_1',
  31. 31 },
  32. 32 // 后续顺序流
  33. 33 {
  34. 34 id: 'edge_2',
  35. 35 name: 'x=1',
  36. 36 source: 'gateway_1',
  37. 37 target: 'endEvent_1',
  38. 38 options: {
  39. 39 // 条件表达式
  40. 40 conditionExpression: "context.vars.get('x')===1",
  41. 41 },
  42. 42 },
  43. 43 // 后续顺序流
  44. 44 {
  45. 45 id: 'edge_3',
  46. 46 name: 'x=2',
  47. 47 source: 'gateway_1',
  48. 48 target: 'endEvent_2',
  49. 49 options: {
  50. 50 // 条件表达式
  51. 51 conditionExpression: `
  52. 52 contextNodePrevious.vars.get('x')===2
  53. 53 `,
  54. 54 },
  55. 55 },
  56. 56 ],
  57. 57},
  • node
名称 说明
id gateway_1,节点Id
name Gateway Exclusive,节点名称
type gatewayExclusive,表示该节点类型为排他网关