Node.js中如何通过单个启动函数实现指定次数的函数循环执行逻辑
实现方案
需求回顾
先执行20次actions函数,之后交替执行banking与actions函数(顺序为banking() → actions() → banking() → ...),且仅需调用单个入口函数启动整个流程。
修改后的完整代码
// 入口函数,调用它即可启动全部流程 function startTask() { const scaleTimes = 20; // 第一步:执行20次actions for (let i = 0; i < scaleTimes; i++) { actions(); } // 第二步:交替执行banking和actions function alternateExecution() { banking(); actions(); // 若需要无限交替则保留递归,若要限制次数可添加计数器判断 alternateExecution(); } // 启动交替流程 alternateExecution(); } // 原actions函数 function actions () { console.log('Starting'); robot.moveMouse(1246,465); robot.moveMouse(1280,472); robot.mouseClick("left", 1); robot.moveMouse(1246,465); robot.mouseClick("left",1); console.log('Done...'); }; // 原banking函数 function banking () { console.log('banking...'); robot.moveMouse(842,123); sleep(600); robot.mouseClick(); sleep(600); robot.moveMouse(1024, 336); sleep(600); robot.mouseClick(); sleep(600); robot.moveMouse(709,159); sleep(600); robot.mouseClick(); sleep(600); robot.moveMouse(1064,49); sleep(600); robot.mouseClick(); sleep(4000); console.log('done...'); }; // 启动整个任务 startTask();
可选调整:限制交替执行次数
如果不需要无限交替,可给交替函数添加计数器参数,指定执行次数:
function alternateExecution(remainingTimes) { if (remainingTimes <= 0) return; banking(); actions(); alternateExecution(remainingTimes - 1); } // 启动时指定交替10次 alternateExecution(10);
内容的提问来源于stack exchange,提问作者lukesudom
相关产品推荐
相关产品推荐

