js中同步异步的问题
// 同步和异步,异步又分为宏任务和微任务,优先执行同步任务,在执行微任务,最后执行宏任务
function fun(item) {
return new Promise(resolve => {
resolve(item)
setTimeout(() => {
console.log(item, 3);
}, 1000)
})
}
let list = [1, 2, 3]
list.forEach(item => {
fun(item).then(res => {
console.log(res, 2);
})
console.log(item, 1)
})
// 同步 forEach
// 异步:微任务:promise; 宏任务:定时器
// js中常见的微任务:promise MutationObserver等
// js中常见的宏任务:setTimeout setInterval等

浙公网安备 33010602011771号