| 12345678910111213141516171819 |
- /** 语句:delay 延迟(value 支持变量,如 "{{stay-duration}}s";格式:数字+单位 s/m/h) */
- const types = ['delay']
- function parse(action, parseContext) {
- const parsed = { type: 'delay', value: action.value || action.delay || '0s' }
- return Object.assign({}, action, parsed)
- }
- async function execute(action, ctx) {
- const raw = action.value || action.delay || '0s'
- const resolved = ctx.replaceVariablesInString && ctx.variableContext
- ? ctx.replaceVariablesInString(String(raw), ctx.variableContext)
- : raw
- const delayMs = ctx.parseDelayString(resolved)
- if (delayMs > 0) await new Promise(r => setTimeout(r, delayMs))
- return { success: true }
- }
- module.exports = { types, parse, execute }
|