Nodejs:并行while循环互不阻塞

时间:2021-04-24 07:41:13

标签: node.js

我有两个函数必须并行运行才能完成它们的工作,runA 每 5 秒执行一次,runB 每秒执行一次。但是 runA 只运行到某个迭代并停止。我怀疑 runB 正在阻塞 runA,因为 runB 等待睡眠功能。

预期结果,每次runA迭代然后等待5秒,runB也能够每秒钟运行一次而不会阻塞runA任务

    //app.js with express
    runA();
    runB();

    //job.js

    //every 5 sec
    export.runA = async() =>{
        while(ifRunA){
            //condition with mongoose
            for(var i = 0; i < trx; i ++){
                console.log(i);
            }
            await sleep(5000); // 5 sec
        }
    }

    //every 1 sec
    export.runB = async() =>{
        while(ifRunB){
            //condition with mongoose
            await sleep(1000); // 1 sec
        }
    }

0 个答案:

没有答案
相关问题