php – 在保持良好用户体验的同时调用10个API的最佳解决方案?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 在保持良好用户体验的同时调用10个API的最佳解决方案?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个类似于Expedia和PRiceline的网站.用户输入日期,然后调用10个不同的API来返回结果.从所有10个结果中获取结果(有时)最多需要90秒.

我想要的是在用户等待结果时显示的启动/加载屏幕(类似于Priceline).

我已经尝试使用jquery Ajax来调用API并生成结果,但是有些浏览器会遇到问题(当结果不够快时锁定).

我在LamP环境中,我想过使用cronjob来处理API并将结果保存在数据库中,但我不确定它会有多实用.

解决方法

>所有ajax调用都需要异步,因此用户界面保持活动状态.这应该是显而易见的,但既然你提到了浏览器锁定,我想我最好提一下. >您可能需要了解浏览器是否对浏览器允许的并发ajax调用数量有任何浏览器窗口限制.如果他们这样做并且数量少于你想要的数量,你将不得不重新考虑事情. >你肯定想在等待结果时提出一些“加载结果…”类型的指标. >如果您的数据是可以显示渐进结果的数据类型(例如,当每个ajax调用返回显示一些新信息),那么用户觉得功能比您在显示之前等待所有10个完成时更具响应性任何东西. >对于任何事情,只要您的正在进行,用户应该有一种简单方法来停止交易并返回您站点中的有用位置(无需杀死浏览器窗口或离开您的站点).你甚至想要不耐烦的用户至少再试一次而不是离开. >如果您在同时连接上遇到浏览器模拟,则可能希望让服务器代理请求.向您的服务器发送少量请求,然后根据需要触发尽可能多的请求并返回整理的数据. >如果请求的数据可以在服务器上有效地缓存或预取,而不会影响准确性,那么这可能真的有助于提高性能. >确保您处理ajax调用的所有错误条件,以便用户体验至少允许用户再次尝试,或者最好继续使用较少的结果,如果某些连接不起作用. >了解ajax代码中所有连接超时的设置,并确保它们适合您的应用程序.如果认连接超时时间不足以封装大多数ajax调用,则可能需要延长它. >设计一个或多个ajax调用失败的情况.了解您的应用程序将会发生什么,并测试该条件,以确保所需的用户体验真正有效. >请注意(当使用异步Ajax调用时)用户可以与您的页面进行交互,因此您可能需要禁用,隐藏或以其他方式阻止与异步调用期间不应忽略的页面部分的交互. >前一点的另一面是您可能希望在等待异步调用完成时允许某些类型的交互.例如,您可能希望允许用户改变主意并开始新请求.你可能希望他们在等待的过程的下一步中与某些东西进行交互,等等……基本上,你可以在等待进度信息,部分结果或其他工作的同时提供它们.,他们会注意到或者在等待的时间越少.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在保持良好用户体验的同时调用10个API的最佳解决方案?全部内容,希望文章能够帮你解决php – 在保持良好用户体验的同时调用10个API的最佳解决方案?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。