Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ajax调用中处理耗时的后端任务_Javascript_Ajax_Asynchronous_Frontend_Backend - Fatal编程技术网

Javascript 如何在ajax调用中处理耗时的后端任务

Javascript 如何在ajax调用中处理耗时的后端任务,javascript,ajax,asynchronous,frontend,backend,Javascript,Ajax,Asynchronous,Frontend,Backend,在我的项目中,我使用axios从前端(React)调用后端(Laravel)。 在后端功能中有很多事情要做,这需要很多时间。每当我打电话时,都会出现连接超时错误。 我需要接收后端作业的结果(成功、错误等)。 实现此要求的最佳解决方案是什么? 提前感谢。您可以使用ServerSentEvent(查看EventSource)、长轮询(google it)或更改服务器超时。server Sent Event是一个有用的工具。它确实通过实时更新帮助我改善了用户体验。但这并没有解决超时问题。如果strea

在我的项目中,我使用axios从前端(React)调用后端(Laravel)。 在后端功能中有很多事情要做,这需要很多时间。每当我打电话时,都会出现连接超时错误。 我需要接收后端作业的结果(成功、错误等)。 实现此要求的最佳解决方案是什么?
提前感谢。

您可以使用ServerSentEvent(查看EventSource)、长轮询(google it)或更改服务器超时。server Sent Event是一个有用的工具。它确实通过实时更新帮助我改善了用户体验。但这并没有解决超时问题。如果streamdresponse类(Laravel)的回调函数执行时间超过60秒,服务器将抛出PHP致命错误<代码>PHP致命错误:在…中超过了60秒的最大执行时间。php第52行。也许修改
max\u execution\u time
值是唯一的方法?您必须使用任务管理器之类的工具。操作完成后,在发送任务id为SSE的响应之前,立即将任务id返回给客户端。如果将操作作为异步作业运行,则不会超时,因为服务器会立即响应。另一种更简单的方法是长轮询,它类似于SSE,但客户端不监听事件,而是不断询问服务器操作是否在指定的时间段内完成,直到操作完成。这是处理昂贵任务的合适方法。