HTTP 作为协议是同步的。您发送请求,等待响应。与其他协议相反,您可以通过同一连接快速连续发送数据,而无需等待对先前数据的响应。请注意,HTTP/2实际上更符合这些思路。
话虽如此,您可以通过单独的连接并行发送多个独立的 HTTP 请求。HTTP 请求没有“全局”锁,它只是每个打开连接的单个 HTTP 请求/响应。(HTTP/2 再次弥补了这一限制。)
现在,从 Javascript 应用程序的角度来看,HTTP 请求是异步的。这意味着,Javascript 会将 HTTP 请求发送到服务器,其响应将在稍后到达。与此同时,Javascript 可以继续处理其他事情,当 HTTP 响应到来时,它将继续处理其他事情。这就是异步 Javascript 执行。JavaScript 可以选择等待,直到 HTTP 响应返回,同时阻止其他一切;但这非常糟糕,因为与您同时可以完成的所有其他事情(例如保持 UI 响应)相比,HTTP 响应可能需要相对永恒的时间。
| 归档时间: |
|
| 查看次数: |
3910 次 |
| 最近记录: |