delay-parser.js 473 B

123456789101112131415
  1. /** 语句:delay 延迟 */
  2. const types = ['delay']
  3. function parse(action, parseContext) {
  4. const parsed = { type: 'delay', value: action.value || action.delay || '0s' }
  5. return Object.assign({}, action, parsed)
  6. }
  7. async function execute(action, ctx) {
  8. const delayMs = ctx.parseDelayString(action.value || action.delay || '0s')
  9. if (delayMs > 0) await new Promise(r => setTimeout(r, delayMs))
  10. return { success: true }
  11. }
  12. module.exports = { types, parse, execute }