每周一周总结

一.概述
是异步编程的一种解决方案,可以替代传统的解决方案—回调函数和事件
二.特点
1.对象的状态不受外部影响
2.一旦状态改变就不会变,也就是说任何时候promise都只有一种状态
三.方法搜,这里就不在记录了
js是单线程,

同步和异步的区别:
同步是发送东西1之后要等待后端返回才可以再次发送,异步是不用等后端返回就可以再次发送。
异步的事件有:
readFile
writeFile
ajax
ansyc
定时器
promise
事件
回调函数

event loop里面有栈队列和消息队列
栈队列:先进后出
消息队列:先进先出
function func1(){
console.log(1);
}
function func2(){
console.log(2);//2
func1();//1
console.log(3);//3
}
func2();
输出的是213

        	var p=new Promise(resolve=>{
			console.log(4);//4
			resolve(5);
		});
		function func5(){
			console.log(6);//6
		}
		function func6(){
			setTimeout(()=>{
				console.log(7);
			});//7
			func5();
			console.log(8);//8
			p.then(resolved=>{
				console.log(resolved);
			})//5
			.then(()=>{
				console.log(9);//9

			})
		}
		func6();		

输出的是 4 6 8 5 9
当遇到p.then和then时要把他们执行的内容放到微消息队列中,看到setTimeout要放到消息队列中
当栈里面的内容都执行完之后,清空站里面的内容之后才开始执行微消息里面的内容,执行完毕之后执行消息队列里面的内容

遇到await,要把await下边的内容放到微消息队列中,这就是与promise的不同之处

你可能感兴趣的:(其他)