new Promise(resolve => {
console.log(1);
resolve('resolve');
console.log(2);
reject('error')
}).catch((err) => {
console.log(err);
}).then((res) => {
console.log(res)
});
Promise.resolve().then(() => {
console.log(3);
});
console.log(4);
主要的想不明白的地方有
为什么console.log(res)可以打印出resolved;
这里的.catch有没有执行;
为什么.then的执行在console.log(3)之后
前端小白有点被绕晕了。感谢回答!
###执行resolve方法之后,Promise状态改变为resolved态,不会被catch,所以catch方法不执行
.then里的res接受的是resolve()的参数,所以可以打印出resolved
.then方法是微任务,主程序执行完后,再执行微任务,所以.then执行再3后