"A"在Ajax中代表异步它意味着发送请求(或者接收响应)都不是在正常的执行流中。比如$.ajax立刻返回并且下一个状态,return result;是在你获取ajax中响应,把响应结果赋值给result之前执行(即先执行return result,后执行result=response)
这里是一个分析,希望能够帮助你更加清楚同步和异步之间的不同
发挥想像,你给你的一个朋友打电话让他帮你干某件事情尽管它会花费一点时间,你会电话等待并且凝视天空直到你的朋友给你你需要的答案。
当你使用一个包含“正常的”的代码的函数调用时会有同样的事情发生:
尽管findItem可能花费很长的时间来执行所有在findItem()之后的代码都必须等待直到这个函数返回结果。
继续想像你洇为一些原因又打电话骚扰他了,但是这次你告诉他你很忙并且他应该打你的手机你挂掉电话,离开家并且做你之前计划好的事情一旦你的朋友打电话给你,你立刻处理你朋友给你的信息
当你使用Ajax请求是,同样的事情实际上也正在发生
不是一样在等待响应,执行会竝刻继续并且在Ajax调用之后的语句被执行为了最终能够获取响应,你提供一个函数一旦响应被接收,这个函数就会被立刻调用所有在那个调用之后的代码都被在回调被调用之前执行。
今天就翻译到这里有时间继续: