发布网友
共2个回答
热心网友
ajax的同步和异步和我们所理解的刚好是相反的,在我们看来吃饭和看电视是同步的,但是ajax方法这里却是异步。ajax仅仅是发起一个网络的请求到服务器,并没有您所说的那么复杂,一般ajax同步使用比较少。追问在我们看来吃饭和看电视是同步的, 为什么是同步的? 我的理解是异步的,因为吃饭和看电视是两件事情,互不影响啊;如果是同步的,说明做完一件事才能做另一件事; 我的理解可能不对,另外,我在ajax验证用户名是否存在这个功能中使用了同步,必须得等到验证结果完成才能进行下面的操作
热心网友
同步是指两件或两件以上事情同时进行,即同步不是一种通信关系。同步调用才是通信关系,同步调用是指两个函数之间具有一定的时序关系,即后续操作必须在前面操作完成之后才可进行。
异步和异步调用是指一种通信关系,通信双方的发送者和接受者不在同一时间,运用在编程上,在A函数中调用B函数不需要等待B函数返回就可继续A函数下面的操作。
ajax之所以叫异步调用,首先是因为它是一种浏览器访问服务器来获取数据的一种技术,一个请求,一个应答,是两个进程。所以是进程(这里也可以理解为线程)之间的通信,并且由于在发出请求后并不用等待回应所以它是异步非阻塞的。
总体来讲阻塞与非阻塞和同步异步并无冲突,异步一般就是非阻塞的,同步调用一般就是阻塞的。