12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /**
- * 异步任务:宏任务 微任务
- * 宏任务:整体的script代码、settimeout、setinterval
- * 微任务:promise process.nextTick
- * 代码的执行顺序:
- * 先执行主线栈中(同步任务),在执行异步任务
- * 先执行所有的微任务 全部执行完成后 在执行宏任务
- */
- setTimeout(function () {
- console.log("1"); //a1
- });
- new Promise(function(resolve) {
- console.log('2');
- resolve()
- }).then(function() {
- console.log('3');//b1
- })
- console.log("4");
- // 2 4 3 1
- // console.log(1)
- // setTimeout(function(){
- // console.log(2);
- // let promise = new Promise(function(resolve, reject) {
- // console.log(7);
- // resolve()
- // }).then(function(){
- // console.log(8)
- // });
- // },1000);// 宏1
- // setTimeout(function(){
- // console.log(10);
- // let promise = new Promise(function(resolve, reject) {
- // console.log(11);
- // resolve()
- // }).then(function(){
- // console.log(12)
- // });
- // },0);//宏2
- // let promise = new Promise(function(resolve, reject) {
- // console.log(3);
- // resolve()
- // }).then(function(){
- // console.log(4) //b1
- // }).then(function(){
- // console.log(9) // b2
- // });
- // console.log(5)
- // 1 3 5 4 9 10 11 12 2 7 8
- // console.log('1');
- // setTimeout(function() {
- // console.log('2');
- // // process.nextTick(function() {
- // // console.log('3');
- // // })//a1
- // new Promise(function(resolve) {
- // console.log('4');
- // resolve();
- // }).then(function() {
- // console.log('5')//a2
- // })
- // })//宏1
- // // process.nextTick(function() {
- // // console.log('6');
- // // }) //微1
- // new Promise(function(resolve) {
- // console.log('7');
- // resolve();
- // }).then(function() {
- // console.log('8') // 微2
- // })
- // setTimeout(function() {
- // console.log('9');
- // // process.nextTick(function() {
- // // console.log('10');
- // // })
- // new Promise(function(resolve) {
- // console.log('11');
- // resolve();
- // }).then(function() {
- // console.log('12')
- // })
- // })//宏2
- // 1 7 8 2 4 5 9 11 12
|