const f = () => console.log("now");
(() => Promise.resolve(f()))();
console.log("next");
输出
// now
// next
使用IFEE包裹 Promise.resolve() 之后,先于console.log("next");执行,这块不是很明白,有大佬能讲解下吗?谢谢
const f = () => console.log("now");
(() => Promise.resolve(f()))();
console.log("next");
输出
// now
// next
使用IFEE包裹 Promise.resolve() 之后,先于console.log("next");执行,这块不是很明白,有大佬能讲解下吗?谢谢
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
你想要的效果可能是这样?
你里面把
f()
执行结果当做参数传入了,Promise.resolve
是立即执行的,所以f()
也立即执行了。但是resolve().then()
里面的方法会放到任务队列