异步
术语异步指的是两个或多个对象或事件不同时存在或发生,也就是说,它们不是同步的。当多个相关的事情发生时,如果它们之间没有任何一个依赖于之前事情的完成,那么它们就是异步的。
在计算中,“异步”一词主要用于以下两种语境。
在网络和通信中
异步通信是一种交换消息的方法,其中每条消息的发送、接收和处理不依赖于其他消息的发送、接收或处理。在异步通信中,各方在方便或可能的时候接收和处理消息,而不是在收到消息后立即进行。此外,消息可以不等待确认就发送,其理解是如果发生问题,接收方会请求更正或以其他方式处理情况。
电子邮件是一种异步的人际通信。发件人发送电子邮件。收件人根据自己的方便(不一定是立即)阅读电子邮件并回复(或不回复)。各方可以随时继续发送和接收消息。电子邮件不必按特定顺序安排。
在异步软件中,发出请求(例如向服务器发出请求)不会在等待响应时阻塞其他进程。软件可以继续执行其他任务。例如,在基于 Promise 的 API 中,针对长时间操作创建了Promise 对象。操作完成后,Promise 会被处理。有了 Promise,软件就不必等待操作完成。
在软件设计中
异步软件设计通过构建代码来扩展这一概念,该代码允许程序要求与原始任务(或多个任务)并行执行某个任务,而无需停止等待该任务完成。当次要任务完成时,原始任务会通过约定的机制收到通知,从而知道工作已完成,并且结果(如果有)可用。
有许多编程技术可以实现异步软件。请参阅文章异步 JavaScript 以了解它们的介绍。
另见
- 学习:使用 JavaScript 发出网络请求 (学习区)
- 相关词汇表术语