12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /**
- * 异步任务:宏任务 微任务
- * 宏任务:整体的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
|