- 什么是同步和异步
- 会用在什么地方?
- ajax同步的方法
什么是同步和异步?
所谓同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由调用者主动等待这个调用的结果。
而异步则是相反,调用在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在调用发出后,被调用者通过状态、通知来通知调用者,或通过回调函数处理这个调用。典型的异步编程模型比如Node.js。
会用在什么地方?
有时候我想把用ajax请求来的数据用在success的function之外。这时我就想到了可以设置个全局变量来装这些数据,然后就可以在外部使用这些数据了。
但之前我完全没有考虑到同步和异步的关系。
那个时候我直接使用了jquery封装好的post,然后发现取不到数据。
因为封装好的post是异步的,也就是没有返回结果。这时候就需要把ajax改成同步的了。
ajax同步的方法
经测试,post和get都是异步的,因此得用ajax。
ajax里有一个属性是async,设置成false就是同步的了。