我正在做一些带有promise的测试,并且编写的代码与我期望的完全不一样:
function function1() {
return new Promise((resolve, reject) => {
let i = 5000000000;
while (i > 0) {
i--;
}
resolve("print function1!!!");
});
}
function function2() {
console.log("print function2!!!");
}
function function3() {
function1().then(data => console.log(data));
function2();
}
function3();
该代码的执行等待function1中循环的完成,然后输出:
打印功能2 !!!
打印功能1 !!!
我期望代码会打印“ print function2 !!!”。然后等待循环完成,然后打印“ print function1 !!!”。
为什么Promise中的循环会阻止代码的执行?
蝴蝶刀刀
牧羊人nacy
相关分类