Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强
总时长 104:45:00 共408P
此文章包含第203p-第p210的内容
介绍
这段除了210集都是商城业务,无太多可学习的,可跳过这7集,直接看第2100集
一个页面需要获取多个 API 数据的情况
通常有两种主要的方式来处理:
- 异步请求合并数据:
页面可以发起一个异步请求来获取所需的所有 API 数据。这种方式可以减少页面的请求次数,并且在一次请求中获取所有数据,从而提高页面加载速度和性能。
前端可以通过并行或者串行的方式来发送异步请求,并在所有数据都返回后再渲染页面。
可以使用工具库或框架如 Axios、Fetch API、jQuery.ajax 等来发送异步请求,并使用 Promise.all 或者 async/await 来处理所有请求的返回。 - 分开发送多个请求:
页面可以分别向后端发送多个独立的请求,每个请求获取一个 API 数据。这种方式可能会导致页面加载速度较慢,因为需要进行多次请求和等待每个请求的返回。
前端可以通过使用并行或者串行的方式发送多个请求,并在每个请求返回后立即渲染相应的数据。
后端可以并行处理多个请求,然后将所有数据一次性返回给前端,或者在后端进行数据的合并和处理。
这两种方式的优缺点
异步请求合并数据
-
优点:
减少请求次数: 通过一次请求获取多个数据可以减少网络通信的次数,降低了网络延迟,提高了页面加载速度。
提高性能: 减少了请求次数和等待时间,可以提高页面性能和用户体验。
简化前端逻辑: 前端只需处理一个异步请求和一个返回数据集,简化了前端代码的复杂度。
减少服务器压力: 将多个请求合并成一个请求可以减少服务器的负载,降低了服务器的压力。 -
缺点:
增加复杂度: 在服务器端合并和处理多个请求的数据可能会增加服务器端的复杂度和开发成本。
可能引发等待时间: 如果其中一个请求的响应时间较长,可能会影响整体请求的响应时间,导致用户等待时间较长。
分开发送多个请求
-
优点:
灵活性: 可以单独控制每个请求的更新频率和处理逻辑,更加灵活。
并行处理: 可以并行发送多个请求,并行处理多个请求的响应,提高了并发性能。
容错性: 如果其中一个请求失败,不会影响其他请求的处理,提高了容错性。 -
缺点:
增加网络负载: 分开发送多个请求会增加网络通信的次数和负载,可能导致页面加载速度较慢。
复杂性增加: 需要处理多个独立的请求和多个响应,增加了前端和后端的开发复杂度。
可能导致并发限制: 如果服务器有并发请求限制,分开发送多个请求可能会受到限制,影响页面加载速度。
总结
选择哪种方法取决于具体的需求和情况。通常情况下,异步请求合并数据适用于需要提高性能和页面加载速度的场景,而分开发送多个请求适用于需要更灵活处理数据更新频率和并发请求限制的场景。
定义一个异步配置类
这是个提示配置 元数据处理器, 不加也行,加了之后记得重启项目
如果配置类没写@Component 则这里引用需要写@EnableConfigurationProperties
这里写了@Component了,已经加到容器中了, 所以可以直接引用
这里如果没在yml中配置,则模块启动会报NPE
有异常的的话可以用whenComplete