在总结这个问题时,我们需要知道两点:
1.在没有ajax时我们解决问题是什么样的一个情况?
2.ajax产生后给我带来什么样的便利?又带来什么样的问题?
3.为什么产生之后同步没有消失?
先说第一个,在没有ajax之前,是所有的操作都做完,才返回给用户结果,即写完数据库之后,在相应用户,用户体验不好;在这种情况下ajax的出现无疑从很大程度上是为了解决用户的体现问题(顾客是上帝),这也是同步的情况。
在ajax产生之后:不用等所有操作等做完,就相应用户请求。即先相应用户请求,然后慢慢去写数据库,用户体验较好,这也是异步的原理。
同步没有消失,那当然是因为他还是有自身的价值在,在现实使用中同步的情况还是很常见的,特别是银行的转账功能等...
项目代码感受:
这里就是ajax的异步操作实现,也是它的默认操作,当它在执行后台传输数据的同时,其他的内容依旧在加载(后面代码可执行操作)。
这里就是ajax的同步需要情况,而async属性就是关闭异步的操作,这里如果不执行同步操作的话,后面的金额就不会按照我们的要求显示。
好了,看完代码,在看下书本定义的同步异步总结会不会有更深的体会:
同步:
同步的思想是:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。
异步:
将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭浏览器了。然后程序再慢慢地去写入数据库去。这就是异步。但是用户没有卡死的感觉,会告诉你,你的请求系统已经响应了。你可以关闭界面了。