You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 01:25:23