promise例题
2024-09-07 21:15:20
let promise = new Promise(resolve => {
console.log('Promise');
resolve();
});
promise.then(function(){
console.log('resolved');
});
console.log('hello~');
打印结果一次为Promise hello~ resolved
Promise 新建后立即执行,所以首先输出的是Promise,然后,then方法指定的回调函数,将在当前脚本所有同步任务执行完才会执行,所以resolved最后输出
let promise=new Promise(resolve=>{ resolve(); console.log('promise');//1 }) console.log(promise);//2 setTimeout(function(){ console.log('hello');//4 }) promise.then(function(){ console.log('resolved');//3 }) //then和setTimeout不都是异步操作吗,为什么hello还是最后输出呢?
then和setTimeout确实都是异步的,但是这里又涉及到异步的宏任务和微任务,setTimeout是宏任务,Promise整体是微任务,主线程执行完了之后先从微任务栈里面获取微任务执行,没有微任务了,就去宏任务栈里面获取宏任务执行,微任务是比宏任务先执行的,所以先打印resolved在打印hello
最新文章
- MacOS平台下@rpath在动态链接库中的应用
- Azure IaaS限制
- mysql乱码解决
- 简单的哈希表实现 C语言
- 2016国产恐怖惊悚《诡娃》HD720P.国语中字
- JS操作DOM
- 美国VPS - DigitalOcean 推荐创业团队使用
- intel安装mac os
- Android05-UI02布局,自定义控件,ListView
- ByteBuffer常用方法详解
- 使用zxing生成二维码 - servlet形式
- 使用Java注解开发自动生成SQL
- 一个普通底层.NET程序员关于职场瓶颈期的思考,辗转自我提升/跳槽/转行之间
- vue 自定义指令directive
- 三、Html常用标签
- 如何将一个excel表格的数据匹配到另一个表中
- Python之参数类型、变量
- BTrace学习总结
- MongoDB安装、CURD操作、使用场景分析总结(1)
- iotop监控磁盘动态安装
热门文章
- 八大排序算法~冒泡排序【加变量flag的作用】
- 锁屏面试题百日百刷-java大厂八股文(day3)
- 记一次lombok踩坑记
- Beautiful Soup4.4.0中文官方文档!最权威的参考---中文官方文档
- nfs(2049)未授权访问
- 深度强化学习中稀疏奖励问题Sparse Reward
- Hyper-V下Internal vSwitch的配置和Linux虚拟机的SSH连接
- 开机时自动启动的AutoHotkey脚本 2019年10月09日
- RecyclerView跳转到指定位置的几种种方式
- Netty基础招式——ChannelHandler的最佳实践