Javascript 如何在ajax调用中处理耗时的后端任务
在我的项目中,我使用axios从前端(React)调用后端(Laravel)。 在后端功能中有很多事情要做,这需要很多时间。每当我打电话时,都会出现连接超时错误。 我需要接收后端作业的结果(成功、错误等)。 实现此要求的最佳解决方案是什么?Javascript 如何在ajax调用中处理耗时的后端任务,javascript,ajax,asynchronous,frontend,backend,Javascript,Ajax,Asynchronous,Frontend,Backend,在我的项目中,我使用axios从前端(React)调用后端(Laravel)。 在后端功能中有很多事情要做,这需要很多时间。每当我打电话时,都会出现连接超时错误。 我需要接收后端作业的结果(成功、错误等)。 实现此要求的最佳解决方案是什么? 提前感谢。您可以使用ServerSentEvent(查看EventSource)、长轮询(google it)或更改服务器超时。server Sent Event是一个有用的工具。它确实通过实时更新帮助我改善了用户体验。但这并没有解决超时问题。如果strea
提前感谢。您可以使用ServerSentEvent(查看EventSource)、长轮询(google it)或更改服务器超时。server Sent Event是一个有用的工具。它确实通过实时更新帮助我改善了用户体验。但这并没有解决超时问题。如果streamdresponse类(Laravel)的回调函数执行时间超过60秒,服务器将抛出PHP致命错误<代码>PHP致命错误:在…中超过了60秒的最大执行时间。php第52行。也许修改
max\u execution\u time
值是唯一的方法?您必须使用任务管理器之类的工具。操作完成后,在发送任务id为SSE的响应之前,立即将任务id返回给客户端。如果将操作作为异步作业运行,则不会超时,因为服务器会立即响应。另一种更简单的方法是长轮询,它类似于SSE,但客户端不监听事件,而是不断询问服务器操作是否在指定的时间段内完成,直到操作完成。这是处理昂贵任务的合适方法。