function A() {
// do somthing
console.log("A");
setTimeout(func1, 0);
B();
}
function func1() {
console.log("func1");
}
function B() {
console.log("B");
setTimeout(func2, 0);
C();
}
function func2() {
console.log("func2");
}
function C() {
// do somthing
console.log("C");
}
A();
// output:
// A
// B
// C
// func1
// func2
但我将func1时间更改为1,func2时间更改为2.持续时间仍然持续1ms。但输出已更改。
function A() {
// do somthing
console.log("A");
setTimeout(func1, 1);
B();
}
function func1() {
console.log("func1");
}
function B() {
console.log("B");
setTimeout(func2, 2);
C();
}
function func2() {
console.log("func2");
}
function C() {
// do somthing
console.log("C");
}
A();
// output:
// A
// B
// C
// func2
// func1
然后我尝试使用setTimeout(func1,1001),setTimeout(func2,1002)。但是" func2"仍然会在" func1"之前输出。看起来setTimeout(func1,0),setTimeout(func2,1)似乎是一个。但两个定时器设置之间的持续时间总是1ms。我想要找出导致输出不同的原因。