可以同时执行2个异步功能吗?例如,在下面的代码中,是否有可能执行第一个setTimeout的命令let xEquals2 = x === 2;
,然后执行第二个setTimeout的相同命令,最后执行第一个setTimeout的if块。为了使问题更简单,下面的代码是否总是将数字2打印两次,还是有可能将2和3或3和3打印出来?
let x = 1;
setTimeout(() => {
let xEquals2 = x === 2;
if (!xEquals2) {
x++;
}
console.log(x);
}, 1000);
setTimeout(() => {
let xEquals2 = x === 2;
if (!xEquals2) {
x++;
}
console.log(x);
}, 1000);
最佳答案
JavaScript使用事件循环,它不同于其他平台具有的线程。因此,第一个回调将首先执行,然后第二个执行,因此您的结果将是2、2。
关于javascript - JavaScript是“真正并行”的吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48409256/