try-parser.js 660 B

1234567891011121314151617181920
  1. /** 语句:try 尝试执行,成功走 success、失败走 fail(解析在此,执行在 sequence-runner) */
  2. const types = ['try']
  3. function parse(action, parseContext) {
  4. const { parseActions } = parseContext
  5. const failActions = action.fail || action.catch
  6. const parsed = {
  7. type: 'try',
  8. try: (action.try || action.body) ? parseActions(action.try || action.body) : [],
  9. success: action.success ? parseActions(action.success) : [],
  10. fail: failActions ? parseActions(failActions) : [],
  11. }
  12. return Object.assign({}, action, parsed)
  13. }
  14. async function execute() {
  15. return { success: true }
  16. }
  17. module.exports = { types, parse, execute }