Javascript 并行运行两个循环

max*_*csh 5 javascript parallel-processing node.js

我是 javascript 和 node.js 的新手,

这里我有两个循环,我想让它们并行运行,

function loop1(){
    for (var i = 10000; i < 20000; i++) {
        console.log(i);
    }
}
function loop2(){
    for (var i = 0; i < 10000; i++) {
        console.log(i);
    }
}
loop1();
loop2();
Run Code Online (Sandbox Code Playgroud)

这意味着我期望的输出就像

10000
0
10001
1
...
19999
9999
Run Code Online (Sandbox Code Playgroud)

但这输出

10000
10001
...
19999
0
1
...
9999
Run Code Online (Sandbox Code Playgroud)

我尝试过使用类似的承诺

Promise.all([loop1(), loop2()])
Run Code Online (Sandbox Code Playgroud)

但什么也没发生。

对此有什么想法吗?我的最终目标是将文件夹中的文件分成两半并并行处理它们。因此多线程或多处理可能是可以接受的。感谢您的帮助。

app*_*ple 5

仅异步函数*运行异步**(没有工作人员)

async function loop1(){
    for (var i = 10000; i < 20000; i++) {
        await console.log(i);
    }
}
async function loop2(){
    for (var i = 0; i < 10000; i++) {
        await console.log(i);
    }
}
loop1();
loop2();
Run Code Online (Sandbox Code Playgroud)


*异步函数:包括内部使用事件/计时器/promise 和(可选)返回的函数Promise

**await里面有